У меня есть приложение электронной коммерции, работающее на 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 для поддержки транзакций
Я застрял на двух ключевых моментах:
- Настройка Tomcat для репликации состояний сеанса между двумя или более серверами (см. «Примечание 1»)
- Настройка Hibernate на использование одного и того же кэша на всех серверах Tomcat
Будем благодарны за любые ссылки, попавшие в любой из этих двух пунктов.
P.S. Мои попытки найти информацию через Google не дают ничего полезного. Я использую неправильные термины для описания своего решения?