Одно и то же хранилище дисков для одного и того же приложения, развернутого на разных кластерных серверах
Я устанавливал ehcache на свое приложение, развернутое на Tomcat 6. Я успешно сохранил на хранилище дисков, повторно использовал сохраненные данные и перехватил нечистое завершение работы сервера.
Теперь я перешел ко второму шагу, что и стало причиной сохранения на диске. это потому, что мы разворачиваем приложение на 2 кластерных серверах, если один из них выходит из строя, второй вступает во владение.
Я думал о том, чтобы оба приложения указывали на один и тот же путь к хранилищу.
- я не знаю, возможно ли это или нет
- Как вы думаете, репликация дискового хранилища лучше (хотя я не знаю как)
- какие-либо другие предложения о том, как позволить обоим серверам использовать одну и ту же версию кэша?
- Как это проверить? это правильно, если я разверну свое приложение на двух разных экземплярах Tomcat 6? (потому что в этом случае нет кластеризации)
Спасибо
- что-то, что (я думаю) может быть решением, но я ничего не знаю о том, что он делает или как интегрировать: Terracotta Server Array.
1 ответ
Вы не можете разделить EhCache диск хранилище между 2 серверами. Вы должны пойти с одним из способов нарушить EhCache.
Вы можете попробовать с RMI, который не требует развертывания другого программного обеспечения. Это задокументировано здесь: http://ehcache.org/documentation/user-guide/rmi-replicated-caching.
Более масштабируемым способом является использование серверного массива Terracotta, но он больше не поддерживается Terracotta. Сейчас они настаивают на BigMemory (бесплатно до 4 узлов). Это не сложно настроить, он соединяет ваш EhCache, поэтому они всегда будут синхронизированы на всех ваших серверах. Это отличная программа, но поддержка и документация скудны. Начните отсюда:
http://terracotta.org/documentation/4.0/bigmemorymax/configuration/configuration