【问题标题】:synchronous replication in hazelcasthazelcast中的同步复制
【发布时间】:2019-03-09 18:56:21
【问题描述】:

我们正在为我们的一个用例评估 Hazelcast,我对 hazelcast 中的复制存有疑问。

http://docs.hazelcast.org/docs/latest-development/manual/html/Distributed_Data_Structures/Map/Backing_Up_Maps.html 中提到“备份操作是同步的,所以当 map.put(key, value) 返回时,保证映射条目被复制到另一个成员”。

但在另一个页面http://docs.hazelcast.org/docs/latest-development/manual/html/Consistency_and_Replication_Model.html 中,提到“有两种类型的备份复制可用:同步和异步。尽管它们的名称暗示,这两种类型仍然是惰性(异步)复制模型的实现”。

这两种说法看起来有点矛盾。有人可以对此有所了解吗?

Hazelcast 中的复制真的是同步的吗?我需要同时更新所有者和备份节点中的值。

【问题讨论】:

    标签: hazelcast hazelcast-imap


    【解决方案1】:

    here中的解释比较正确。在 CAP 定理的上下文中,Hazelcast 是 AP 产品。因此,尽力而为的一致性是针对复制的,同步和异步备份都是惰性复制模型的实现。正如页面中所解释的那样;两个选项之间的区别是;

    • 在同步备份中,调用方会阻塞,直到备份副本应用备份更新并将确认发送回调用方
    • 异步备份的工作原理是“即火即忘”。

    下面,请参阅 Hazelcast 参考手册中的部分:

    Hazelcast 的复制技术使 Hazelcast 集群能够提供高吞吐量。但是,由于系统中的临时情况,例如网络中断,备份副本可能会错过一些更新并与主副本不同。备份副本也可能会遇到长时间的 GC 暂停或 VM 暂停,并落后于主副本,这种情况称为复制滞后。如果 Hazelcast 分区主副本成员在其自身与备份之间存在复制滞后时崩溃,则可能会丢失数据的强一致性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-04
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-13
      相关资源
      最近更新 更多