缓存——JCS 与 Apache Ignite
Caching - JCS Vs Apache Ignite
JCS 对抗 Ignite 的优缺点是什么?
在 Apache Ignite 中,服务器节点(存储缓存的地方)可以 运行 在单独主机中的单独 JVM 中,而不是客户端应用程序。例如,我们的应用程序可以分布在 4 个节点中,分布式缓存可以分布在 10 个独立的独立节点中。 JCS Cache能支持这种场景吗?
从文档中,我了解到 JCS 缓存支持分布式缓存,但是缓存是驻留在与客户端应用程序相同的 JVM 进程中,还是可以像 Ignite 中那样是一个单独的进程。
这是两个不同的项目。 JCS 只是一个本地内存缓存,主要设计为只读。每个本地缓存都可以有横向 TCP 缓存,当本地缓存更新时,它会通知其他缓存实例,但这没有任何一致性保证,也没有分区。另一方面,Ignite 是数据网格(实际上更多),它可以 运行 在一个单独的集群上,跨节点分区数据并保证更新一致性,这样你就可以像与单个实体一样与集群交互,无论你有多少个节点。
话虽如此,根据您的用例描述,我认为 Ignite 更合适。
JCS 对抗 Ignite 的优缺点是什么? 在 Apache Ignite 中,服务器节点(存储缓存的地方)可以 运行 在单独主机中的单独 JVM 中,而不是客户端应用程序。例如,我们的应用程序可以分布在 4 个节点中,分布式缓存可以分布在 10 个独立的独立节点中。 JCS Cache能支持这种场景吗?
从文档中,我了解到 JCS 缓存支持分布式缓存,但是缓存是驻留在与客户端应用程序相同的 JVM 进程中,还是可以像 Ignite 中那样是一个单独的进程。
这是两个不同的项目。 JCS 只是一个本地内存缓存,主要设计为只读。每个本地缓存都可以有横向 TCP 缓存,当本地缓存更新时,它会通知其他缓存实例,但这没有任何一致性保证,也没有分区。另一方面,Ignite 是数据网格(实际上更多),它可以 运行 在一个单独的集群上,跨节点分区数据并保证更新一致性,这样你就可以像与单个实体一样与集群交互,无论你有多少个节点。
话虽如此,根据您的用例描述,我认为 Ignite 更合适。