Нужны советы по настройке для балансировки нагрузки приложения электронной коммерции Tomcat - PullRequest
1 голос
/ 07 сентября 2011

У меня есть приложение электронной коммерции, работающее на Tomcat 7 и IIS 7. Souce-код довольно большой, поэтому моя общая цель - реализовать некоторую балансировку нагрузки с минимальными изменениями в коде. Наилучшим решением будет 100% переконфигурирование самих серверов.

Мой 10 000-футовый вид будет выглядеть так:

           [Load balancer]
           /     |       \
[Tomcat #1]  [Tomcat #2]  [Tomcat #3]
          \      |       /
        [Hibernate cache]
                 |
         [Database Server]

Примечание 1: из прошлых попыток балансировки нагрузки клиенты, происходящие из AoL, теряют свой сеанс (там, где хранится наша корзина), даже с балансировкой нагрузки, настроенной на «липкие сеансы»

Примечание 2: приложение электронной коммерции использует JBoss 1.3 для поддержки транзакций

Я застрял на двух ключевых моментах:

  1. Настройка Tomcat для репликации состояний сеанса между двумя или более серверами (см. «Примечание 1»)
  2. Настройка Hibernate на использование одного и того же кэша на всех серверах Tomcat

Будем благодарны за любые ссылки, попавшие в любой из этих двух пунктов.

P.S. Мои попытки найти информацию через Google не дают ничего полезного. Я использую неправильные термины для описания своего решения?

1 Ответ

2 голосов
/ 08 сентября 2011

Относительно (1)

Я предполагаю, что вы прочитали Основы Tomcat Cluster и выполнили шаги в How-To?

Далее следует3 способа репликации сеанса и выбор DeltaManager или BackupManager в вашем кластере.Для небольшого кластера из 3 серверов DeltaManager должно работать.

Если в LB происходит потеря липких сеансов, это происходит при высокой нагрузке или происходит постоянно?

ИМХО, переход к репликации требует много памяти, поэтому вам следует попытаться решить проблемув корне, то есть LB

и для (2) JBoss TreeCache помогает?

...