oracle coherence 是否有任何开源替代方案?
(顺便说一句,连贯性到底要花多少钱?)
Hazelcast是用于 Java 的开源、事务性、分布式缓存解决方案。它是在 Apache 许可下发布的。
Hazelcast 实际上不仅仅是一个分布式缓存。它是 Java 的队列、主题、地图、多地图、锁、执行器服务的分布式实现。
Infinispan 看起来很有希望。
EhCache提供了不错的复制缓存,但与 Coherence 提供的功能集相去甚远。
JBoss Cache和EHCache是不错的集群缓存解决方案。但是它们都没有像Tangosol Oracle Coherence 这样的所有功能和一个不错的管理控制台,这确实是该类别中最先进的产品。对于价格, Oracle Coherence网页右侧有一个“立即购买”按钮。
Memcached也是一个很好的开源替代品,被许多知名和高流量/大容量的应用程序使用。
我一直在研究开源分布式缓存,主要关注 EHCahe 和 JBoss Pojo Cache。
它们都是不错的产品,但交易破坏者是我的用例要求我分发对象图并在我的所有节点上维护共享引用。EHCache 无法处理这个问题。它使用标准的 java 序列化,因此共享引用会丢失。
例如,如果我有经理/员工对象层次结构,我希望在我的所有节点上都有一个“经理”对象,并引用他们的员工。使用 EHCache,我不明白这一点,因为 java 序列化程序会复制所有依赖对象。使用 JBoss Pojo Cache,我的对象图得以保留。
缺点是 JBoss 需要检测您的类(构成对象图的原语存储在幕后的树结构中)。在 OSGi 环境中运行时,这可能会导致一些问题。
JBoss 使用 JGroups 作为其通信堆栈,您可以选择多播或 TCP/IP 来管理节点之间的通信。
希望这可以帮助。
伏地魔项目是连贯性的绝佳(免费)替代方案。
我也一直在寻找一个好的选择。我发现最接近的整体特性是Terracotta和Redis,但了解 Coherence 的哪些方面对您的项目很重要会很有帮助。
看起来很有希望,因为谷歌在自己的产品中使用了它们
检查“Berkeley DB”,它是一个开源并且与 Coherence 工作方式相同