Как кластеризовать и сбалансировать нагрузку приложения Spring + OSGi - PullRequest
5 голосов
/ 05 февраля 2010

Я планирую разработать веб-приложение на Spring и OSGi. Кажется, они прекрасно сочетаются друг с другом. Какие есть варианты кластеризации и балансировки нагрузки для такого приложения и каковы плюсы и минусы каждого из них?

1 Ответ

4 голосов
/ 12 февраля 2010

Ни OSGi, ни Spring не были созданы для решения таких проблем, как высокая доступность, кластеризация или распределение нагрузки. Конечно, вы могли бы построить кластерную систему с балансировкой нагрузки с использованием Spring и OSGi, но вам, вероятно, понадобится еще кое-что, например, способ обнаружения и передачи сообщений об ошибках узлов и уровней нагрузки.

Поскольку вы создаете веб-приложение, скорее всего, вы будете использовать один из множества серверов приложений. Хорошие продукты AS обеспечивают кластеризацию для вас. Некоторые также обеспечивают балансировку нагрузки. Вы также можете добиться балансировки нагрузки с помощью полностью независимой собственной настройки, например, с помощью Apache для управления основными серверами приложений.

Если вы действительно хотите создать собственное решение, я видел, как JGroups использовался в нескольких продуктах для обеспечения необходимой инфраструктуры для создания кластерного и / или балансировочного решения. Например, некоторые из распределенных продуктов кэширования в памяти используют JGroups.

Говоря о распределенных кешах, такие продукты, как Ehcache , могут помочь с проблемами масштабирования и балансировки нагрузки.

...