Open Source Distributed Cache for Java

What is the best open source distributed cache you can use in Java?

I thought it was EHCache, but apparently it can only be scaled across multiple nodes using Terracotta Server Array, which is a commercial product.

My goal is to create caches for real-time streaming data with a certain delay, and my actual estimated data size is in the order of 8 GB, and the production speed is much slower - about 3 MB per second.

Since there is an initial delay, I would like my cache to be replicated too, because starting from 0, my cache will require a warm-up period, which I am seriously interested in avoiding.

+6
source share
6 answers

I would recommend you take a look at a product called Hazelcast, although it is not a distributed cache as such, but rather a data grid that is very scalable and very easy to use.

By the way, it would be better if you could tell us what requirements, there are many open source products that can meet your needs ...

Hope this helps

+2
source

Memcached worth a look.

+4
source

You do not need a Terracotta commercial license to cluster your caches (Eh) ... You need a license when using multiple bands, but one server (and potentially passive) does not require any license

+2
source

Apache Ignite has a multifunctional distributed data grid, which, of course, supports distributed caching. You can find more information here: https://ignite.apache.org/features/datagrid.html

+2
source

Try TayzGrid, its open source in-memory data grid and also known as in-memory data grid.

OP: My goal is to create caches for real-time streaming data with a certain delay, and my actual estimated data size is in the order of 8 GB, and the production speed is much slower, in the order of 3 MB per second.

The open source version is ready for production and easily serves 100 GB of data. Your data is very small compared to this :)

OP: I would like my cache to be replicated as well

Your wish is granted: Replication cache . Citation;

Two or more memory data servers form a replicated cache cluster. Each of the data grid servers contains all the data in the data grid. Any update performed on any server is transmitted synchronously to all other servers in the cluster

+1
source

You can use memcached

or Redis (http://code.google.com/p/redis/) → storage is unstable

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

0
source

Source: https://habr.com/ru/post/925643/


All Articles