Производительность Ehcache в большом кластере

Я хотел бы использовать реплицированный кеш Ehcache, во-первых, как бэкэнд для кеша второго уровня Hibernate, а во-вторых, как кеш для любых данных.

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

  • У кого-то есть указатель на какую-то информацию или какой-то тест?

Я обнаружил, что можно использовать многие стратегии репликации, такие как RMI, JGroups, JMS или Terracotta, а RMI и Terracotta кажутся наиболее популярными.

  • Как они соотносятся с большими кластерами?

Убьет ли репликация мою производительность, если я добавлю много узлов (например, несколько десятков)?


person Jazz    schedule 29.07.2009    source источник


Ответы (3)


Полностью реплицированный кеш будет работать только в том случае, если ваше приложение в основном предназначено для чтения. Реплицированный кеш нельзя масштабировать; передача обновлений другим узлам убьет вашу производительность. Вам нужен многораздельный кеш с резервными репликами. Разделенные кеши будут линейно масштабироваться даже для приложений с интенсивной записью.

Попробуйте Hazelcast! это решение для транзакционного многораздельного кэширования Java с открытым исходным кодом (лицензия Apache). Он поставляется с плагином кеширования второго уровня гибернации.

Несколько десятков? Без проблем. Демонстрацию кластера Hazelcast из 100 узлов можно найти здесь.

person Talip Ozturk    schedule 04.05.2010

Хорошим решением проблемы масштабирования кластера является концепция «партнерской репликации», когда данные реплицируются только на соседей каждого узла (как бы вы это ни определяли), а не на все узлы. Вы получаете аварийное переключение без проблем с масштабированием.

Насколько мне известно, ehcache этого не делает. Однако JBossCache это делает, и он также интегрируется с Hibernate так же, как и ehcache.

person skaffman    schedule 29.07.2009

Читали ли вы в руководстве раздел о распределенном кэшировании с ehcache?

Следующие главы посвящены:

person matt b    schedule 29.07.2009
comment
Я конечно читал мануал, но не нашел, как делается репликация: все ли узлы обновляются каждый раз, когда я обновляю кеш на одном узле? - person Jazz; 29.07.2009
comment
Документы ehcache по этому поводу недостаточно хороши. В нем рассказывается, как интегрироваться с технологией распространения, но не более того. - person skaffman; 30.07.2009
comment
То же самое и в 2016 году :( - person Shashank Kadne; 23.06.2016