【发布时间】:2015-02-05 18:04:04
【问题描述】:
我正在寻找除了大内存和 hazelcast 之外的 Java 解决方案。由于我们使用的是 Hadoop/Spark,我们应该可以访问 Zookeeper。
所以我只想知道是否有满足我们需求的解决方案,或者我们是否需要自己构建一些东西。
我需要的是可靠的内存、复制和同步对象。对于操作,我希望有锁支持和跨越对象的原子操作。
我还需要对对象引用和 List/Set/Map 的支持。
其余的我们可以自己建立。
这个想法只是让自组织网络根据环境进行自我配置,最好通过复制的同步对象来完成,并且可以收听。
【问题讨论】:
-
那么问题是什么?你为什么不想使用 hazelcast?
-
Hazelcast 太过分了,我不相信他们已经解决了脑裂问题。我需要一个解决方案,如果发生这种情况,服务器会朝自己的头部开枪,而我将无法通过 hazelcast 游戏来做到这一点。
-
您希望看到什么样的脑裂问题解决方案?
-
一个法定人数,一旦一个节点离开,节点就会被计算在内,如果它达到某个最小值 n/2-1 -> 每个节点都会停止工作。因此可以保证,如果发生不可想象的事情(n+1 死亡),系统就会停止工作。
-
您只需要一半的系统位于同一个数据中心,就会导致仲裁失败。如果您想要弹性,您还需要一个法定人数的数据中心。
标签: java memory transactions distributed