Назад | Перейти на главную страницу

Кластеризация Tomcat и балансировка нагрузки?

У меня есть 3 сервера tomcat, куда пользователи попадают все время. Их 3, потому что обработка каждого запроса тяжелая (много sql). Пользователи входят на сервер 1 или 2 или 3. Теперь я хочу сделать их «одним». Я знаю, что мне нужна кластеризация, но будет ли кластеризация распределять запросы через 3 сервера или здесь мне нужно реализовать балансировку нагрузки с помощью apache2?

Вы можете использовать mod _ jk http://tomcat.apache.org/connectors-doc/

Не забудьте установить липкую _ сессию на коннекторе мода _ jk и tomcat

Взгляни на Teracotta для веб-сессий.

Используйте быстрый и надежный плагин веб-сеансов Terracotta, чтобы получить преимущества масштабируемости веб-архитектуры без сохранения состояния без перегрузки вашей базы данных или перезаписи приложения. Terracotta for Sessions работает с вашим любимым веб-фреймворком и вашими собственными объектами сеанса.

В руководство по веб-сессиям перечисляет пять простых шагов, которые вы должны сделать, чтобы оценить продукт (FOSS).

Вы собираетесь создать виртуальную «одну» машину, которую за пределами вашего «кластера» или архитектуры с балансировкой нагрузки будет рассматривать только как одну реальную машину. Например, у вас есть один реальный IP-адрес (внешний маршрутизируемый IP-адрес) и 3 виртуальных IP-адреса (внутренний IP-адрес, назначаемый балансировщиком нагрузки). Это также зависит от того, как ваше приложение скомпоновано. Есть ли у него сеансы? Это состояние или нет?

Балансировщики нагрузки, такие как loadbalacer.org или kemp, могут перенаправлять людей с определенными сеансами на конкретный сервер (A, B или C) до его завершения, а затем могут перемещать их на другой сервер для балансировки нагрузки.

Конечному результату (браузеру пользователей) все равно, на каком сервере он находится, он всегда видит только один реальный IP-адрес и отправляет информацию о сеансе в надежде, что на его запрос будет дан правильный ответ. Просто, если он отправляет информацию о сеансах, сервер, которому балансировщик нагрузки отправляет им, знает, что это такое, и направит его, и соответствующим образом распределяет входящую пользовательскую нагрузку.