Балансировка нагрузки Apache и приложение SOAP через SSL при сохранении IP-адреса клиента
Мы пытаемся найти наиболее подходящее решение для балансировки нагрузки, которое будет работать с нашим приложением, но я быстро обнаружил, что мало что знаю по этому вопросу. Мы собирались запустить Varnish Cache, но мы используем IP-адреса клиентов на разных уровнях и SSL - все становится сложнее... пожалуйста, помогите
Вот ситуация, у нас есть одна машина, обслуживающая нижнюю и смотрящую на три. Возможно, поделитесь одной базой данных.
Три типа трафика:
- Изображения для писем - Основной трафик Apache (минимальный)
- Flash-приложение - большие загрузки один раз на клиента
- SOAP Webservice - до POST на клиента в секунду
Стек:
- Linux с PSAD
- Apache с Mod_Security
- Tomcat (рабочий Apache), приложение JAX-WS и база данных MySQL
Осложнения:
- Maxmind GeoIP в приложении - нужен IP-адрес клиента
- mod_security на Apache - также хочет IP-адрес
- SSL как для приложения Flash, так и для всех вызовов SOAP
Это превентивная мера для клиента, поэтому у нас нет проблем с загрузкой, которые нужно решать как таковые, кроме случаев, когда мы тестируем DOS-атаку:)
Будет ли работать фунт или перекресток? Является ли программное балансировщик нагрузки правильным решением?
1 ответ
Вам нужен балансировщик нагрузки L3 - то, что перенаправляет трафик TCP на внутренний сервер, не делая ничего посередине. Все, что проксирует или иным образом перехватывает ваши TCP-соединения и пересылает их, не будет работать (или потребует значительной конфигурации и хрупкости). Я использую и рекомендую Linux Virtual Server для всех ваших потребностей по балансировке нагрузки.