【发布时间】:2010-11-02 04:58:08
【问题描述】:
我正在寻找一个允许我在多个 JVM 之间共享缓存的 java 框架。
我需要的是类似Hazelcast 但没有“分布式”部分的东西。我希望能够在缓存中添加一个项目并将其自动同步到其他“组成员”缓存。如果可能的话,我希望通过可靠的多播(或类似的东西)同步缓存。
我查看了Shoal,但遗憾的是“分布式状态缓存”似乎不足以满足我的需求。
我查看了JBoss Cache,但对于我需要做的事情来说似乎有点矫枉过正。
我查看了JGroups,这似乎是我需要做的最有前途的工具。有没有人有 JGroups 的经验?最好是用作共享缓存?
还有其他建议吗?
谢谢!
编辑:我们正在开始测试以帮助我们在 Hazelcast 和 Infinispan 之间做出决定,我很快就会接受答案。
编辑:由于突然的需求变化,我们不再需要分布式地图了。我们将使用 JGroups 作为低级信号框架。谢谢大家的帮助。
【问题讨论】:
-
Hazelcast 和 Infinispan?嗯。这些不是成熟的技术...尝试在一个节点中的 Hazelcast 演示中按 Ctrl-z。裂脑。 Infinispan 仍处于 alpha 阶段!我建议您以 java-source.net/open-source/cache-solutions 为起点。 EHCache、OSCache 和 JBoss Cache 至少是成熟且广为接受的技术。你已经说过兵马俑是重量级的,所以没关系。我只是讨厌看到你浪费时间,发现你的东西完全不稳定。
-
我们还没有决定,我们只是在测试。感谢您的关注,Taylor :) 此外,Hazelcast 演示中的 CTRL-Z 也可以正常工作。通过任务管理器或任何其他方式杀死任何节点也是如此。
-
再一次,Terracotta 可以在这里为您提供帮助 ;-)。 Terracotta 中的锁定/信号发送非常简单。这是集群中的同步等待/通知,用于在集群中的线程之间发出信号:terracotta.org/web/display/orgsite/Recipe?recipe=waitnotify
标签: java caching distributed-computing cluster-computing