gpt4 book ai didi

Hazelcast:关于多节点一致性的问题

转载 作者:行者123 更新时间:2023-12-04 17:33:59 24 4
gpt4 key购买 nike

(我找不到一个很好的来源来解释这一点,所以如果它在其他地方可用,你可以指点我)

  • Hazelcast 在集群中的所有节点上复制数据。那么,如果其中一个节点中的数据发生更改,该节点是否会更新自己的副本,然后将其传播到其他节点?
  • 我在某处读到每个数据都归一个节点所有,Hazelcast 如何确定所有者?所有者是按数据结构还是按数据结构中的键确定?
  • Hazelcast 是否遵循“最终一致”的原则? (当数据跨节点传播时,可能会有一个小窗口,在此期间节点之间的数据可能不一致)
  • 冲突如何处理? (两个节点同时更新相同的键值)
  • 最佳答案

  • Hazelcast 不复制(ReplicatedMap 除外,显然 ;-))但对数据进行分区。这意味着您有一个拥有给定 key 的节点。该 key 的所有更新都将发送给所有者,他会通知可能的更新。
  • 所有者由使用以下公式的一致性哈希确定:
  • partitionId = hash(serialize(key)) % partitionCount
  • 由于每个键只有一个所有者,因此无论何时返回变异操作,它都不是最终一致的而是一致的。以下所有读取操作都将看到新值。在正常运行情况下。当发生任何类型的故障(网络、主机等)时,我们选择可用性而不是一致性,并且可能会重新激活尚未更新的备份(尤其是在您使用异步备份时)。
  • 当 split 的集群重新合并时,裂脑后可能会发生冲突。对于这种情况,您必须配置(或使用默认的) MergePolicy 来定义有关如何将冲突元素合并在一起或两者中哪一个获胜的行为。
  • 关于Hazelcast:关于多节点一致性的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30623683/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com