Распределенный кэш с открытым исходным кодом для Java

каков наилучший распределенный кэш с открытым исходным кодом, который можно использовать в Java?

Я думал, что это EHCache, но, по-видимому, его можно масштабировать на нескольких узлах только при использовании Terracotta Server Array, который является коммерческим продуктом.

моя цель-создать кэши для потоковой передачи данных в режиме реального времени с определенной задержкой, и мой фактический оценочный размер данных лежит в порядке 8gb, в то время как скорость производства намного медленнее, в порядке 3mb в второй.

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

6 ответов


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

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

надеюсь, что это помогает


Memcached - это стоит посмотреть.


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


Apache Ignite имеет многофункциональную распределенную сетку данных, которая, конечно же, поддерживает распределенное кэширование. Вы можете найти более подробную информацию здесь: https://ignite.apache.org/features/datagrid.html


попробуйте TayzGrid, его с открытым исходным кодом Grid Данных В Памяти и также известный как сетки данных в памяти.

OP: моя цель состоит в создании кэшей для потоковой передачи данных в режиме реального времени с определенной задержкой, и мой фактический оценочный размер данных лежит в порядке 8gb, в то время как скорость производства намного медленнее, в порядке 3mb в секунду.

версия с открытым исходным кодом готова к производству и легко обслуживает 100GBs данных. Ваши данные очень маленький по сравнению с этим:)

OP: я хотел бы, чтобы мой кэш также был реплицирован

ваше желание исполнилось: Тиражируется Кэш. Цитирую;

два или более серверов сетки данных в памяти образуют Реплицированный кластер кэша. Каждый из серверов сетки данных содержит все данные в сетке данных. Любое обновление, выполняемое на любом сервере, распространяется синхронно на все остальные серверы кластер


вы можете использовать memcached

или Redis (http://code.google.com/p/redis/) -- > хранилище не является изменчивым

или twemcache (http://engineering.twitter.com/2012/07/caching-with-twemcache.html)