Кластер на кота с пружиной - PullRequest
3 голосов
/ 24 июня 2010

У меня есть веб-приложение Spring с одноэлементными сервисами.Есть также некоторые одноэлементные переменные, такие как map с данными сеанса для всех аутентифицированных пользователей и так далее.Это все хорошо работает на одном сервере, но как эта система может быть распределена между несколькими серверами?Система работает на Tomcat.

Ответы [ 3 ]

2 голосов
/ 24 июня 2010

Terracotta имеет поддержку Spring и гарантирует, что это только один синглтон-бин среди всех экземпляров в кластере Terracotta.

Все, что вам нужно сделать, - это включить Terracotta и декларативно добавить синглтонbean-компоненты в кластер.

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

0 голосов
/ 24 июня 2010

Это одна из причин, по которой синглтоны считаются глупыми или вредными. Посмотрите на Google Singleton Detector . Это инструмент, который обнаруживает синглтоны в байт-коде Java. Обратитесь к часто задаваемым вопросам, чтобы узнать, какие проблемы возникают у синглтона.

Если вы хотите кластеризовать свое приложение, избегайте использования синглетонов. Рассмотрим сохранение состояния в базе данных.

0 голосов
/ 24 июня 2010
...