Есть кэширующий сервер (Varnish): по запросу берет данные с Amazon S3, запоминает на какое-то время и отдает клиенту. Столкнулись с проблемой, что не хватает пропускной способности канала в 1GBit. Пик нагрузки в течение 4 часов полностью забивает канал. Производительности сервера пока что хватает. В день отдаётся примерно 4.5TB данных. За месяц набегает больше 100TB.
Первая мысль — просто добавить еще один гигабитный порт и спать спокойно до тех пор, когда не будет хватать уже 2GBit (а это может произойти очень быстро), либо когда один сервер перестанет справляться.
А далее следует уже добавлять новые кэширующие сервера, но теперь потребуется балансировщик, который будет еще и направлять запрос по одному и тому же URL всегда на один сервер (чтобы не плодились копии одинаковых закешированных объектов).
Теперь вопросы:
- На балансировщике ведь теперь потребуется полоса, равная сумме всех полос кэширующих серверов. Как тогда быть, когда просто больше не воткнёшь новых портов в балансировщик? Добавлять еще балансировщиков и разруливать через Round robin DNS?
- Какие стандартные подходы существуют для решений таких проблем?
- Кто нибудь может посоветовать хостинг-компании, которые помогут решить эту задачу? Интересует американский и европейский рынок