Есть действительно несколько решений для реализации балансировки нагрузки:
- DNS Round-Robin
- DNS балансировки нагрузки (с lbnamed)
- Proxy Round-Robin
- Hardware/TCP Round-Robin
Я понял 1) и 2) здесь не вариант, поэтому ... если у вас есть деньги и действительно высокие требования к производительности, переход на 4). Остальное, идите на 3).
Для прокси Round-Robin снова возможны несколько решений: Apache mod_rewrite, Apache mod_proxy, Squid (и, конечно, многие другие, которые я не знаю).
Для "немой" нагрузки balacing, есть пример в Apache mod_rewrite-х URL Rewriting Guide (см Proxy Throughput Round-Robin раздел).
Apache mod_proxy может выступать в качестве прокси для подключения клиентов к Интернету, но обычно используется в качестве обратного прокси для перенаправления URL-адреса на другой сервер. Он не имеет функции кеширования (но может использоваться с mod_cache и mod_rewrite ...).
Squid - это прокси-кеш и обычно используется для подключения клиентов к Интернету. Но он также может использоваться как обратный прокси и быть настроен для кэширования запросов и ускорения доставки контента.
Как вы можете видеть, выбор одного из них зависит от того, что и как вы хотите прокси. В вашем случае я бы рассмотрел запуск Apache mod_proxy или Squid, если вы хотите кэшировать Linux (если это опция).
Что касается аппаратного обеспечения, я не специалист, но я думаю, что достаточно «малого» для «среднего» выделенного сервера. Просто не забывайте, что все запросы пройдут через эту машину, поэтому ее размер зависит от вашего трафика, который кажется приличным. Это может потребовать некоторого рытья с данными реальной жизни.