cachingignitedistributed-cachingdistributed-cachejcs

Caching - JCS Vs Apache Ignite


What are the pros and cons for JCS against Ignite? In Apache Ignite, the server node(where caches are stored) can run in a separate JVM in a separate host machine, other than the client application. For example, our application can be distributed in 4 nodes, and the distributed cache can be spread across 10 separate independent nodes. Can JCS Cache support this scenario?

From the docs, I understand the JCS Cache supports distributed caching, but does the cache reside in the same JVM process as the Client application or it can be a separate one like in Ignite.


Solution

  • These are two different projects. JCS is just a local in-memory cache which is designed to be mostly read-only. Each local cache can have lateral TCP cache that will notify other cache instances whenever local cache is updated, but this does not have any consistency guarantees, and there is no partitioning. Ignite on the other head is Data Grid (actually even more), it can run on a separate cluster, partition the data across nodes and guarantee update consistency so that you interact with the cluster as with a single entity, regardless of how many nodes you have.

    Having said that, based on your use case description I think Ignite is more suitable.