Как запустить несколько котов против одной базы данных с балансировкой нагрузки - PullRequest
2 голосов
/ 03 января 2012

Подскажите, пожалуйста, каковы разные способы достижения баланса нагрузки на базу данных, когда более одного кота обращаются к одной базе данных?

Спасибо.

1 Ответ

3 голосов
/ 03 января 2012

Это подробный пример использования нескольких экземпляров tomcat и элемента управления балансировкой нагрузки на основе Apache

Обратите внимание, если у вас есть оборудование, которое будет выполнять балансировку нагрузки, это еще более предпочтительный способкак по мне (поместите вместо apache).

Короче говоря, это работает так:

  • От какого-то клиента поступает запрос на веб-сервер apache / аппаратный loadbalancer
  • веб-сервер определяет, на какой узел он хочет перенаправить запрос для дальнейшего процесса
  • веб-сервер вызывает Tomcat, и tomcat получает запрос
  • Tomcat обрабатывает запрос и отправляет его обратно.

Относительно базы данных: - сам tomcat не имеет ничего общего с вашей базой данных, вашим приложением, которое взаимодействует с БД, а не с Tomcat.Независимо от уровня вашего приложения вы можете создать кластер серверов баз данных (например, Google для Oracle RAC, но это совсем другая история)

В общем, при реализации балансировки нагрузки на уровне приложения обратите внимание, что общее состояние приложения получаетреплицировать.Техника, называемая «липким сеансом», частично решает проблему, но в целом вы должны знать об этом.

Надеюсь, это поможет

...