2013-02-25 4 views
0

Я работаю с кешированием результатов sql для своих распределенных серверов приложений. Я обнаружил, что ehcache и memcached являются 2 популярными опциями для hibernate L2 cache. Кажется, что ehcache намного быстрее, чем memcached, и имеет гораздо более легкое операционное преимущество (ehcache хорошо поддерживается для интеграции в спящий режим).hibernate распределенный запрос/кэш L2

Однако, моя забота заключается в том, как настроить ehcache для кластера серверов приложений и синхронизировать их? Кажется, поддержка кластера ehcache не является открытым исходным кодом и очень дорогостоящей. Есть ли способ использовать поддержку сервера кластерного приложения без каких-либо платежей? Вот его config doc: http://ehcache.org/documentation/configuration/distributed-cache-configuration

То же самое относится к кэшу кеша гибернации.

У кого-нибудь есть опыт?

Большое спасибо!

ответ

1

Ehcache предлагает бесплатную кластеризацию, см. documentation related to replicated caching.

Или вы можете реализовать репликацию самостоятельно (я сделал это успешно, реализация используется в корпоративных корпоративных системах). Вам необходимо внедрить CacheEventListener и/или CacheEventListenerFactory и прослушивать события сброса кеша на локальном узле. Если запись очищается, обновляется или удаляется, вам необходимо распространять ее на другие узлы, чтобы они не обслуживали устаревшие данные.

Смежные вопросы