1

使用 Infinispan v9,我的应用程序使用分布式异步缓存模式,其中集群范围的数据副本数为 3。

假设缓存条目 123的数据所有者/副本位于节点 A、B、C中。

有了这个,我有两个问题(假设它们不是由网络问题引起的)

  • 如果节点 C查询条目 123,节点 C 是否会发现由于复制延迟而丢失的条目?
  • 如果节点 D查询条目 123,节点 D 是否会发现由于某种滞后而丢失的条目?
4

1 回答 1

1

假设节点A条目 123的主拥有者(每个 key 有 1 个主拥有者和N-1备份拥有者,其中N是副本数)

  • C是的,由于复制滞后,节点可以读取过时的值。
  • 如果你有一些滞后,是的,它可能会发生。当在非所有者节点(如D)中发生读取时,它首先尝试从主所有者(节点A)获取值。如果A没有及时回复,那么它会转到下一个所有者(节点B)等等。

现在,如果A及时回复,它不会读取过时的值。否则,它可能会从节点BC

您在文档中有这些信息(以及更多信息)。

于 2020-07-08T10:12:59.170 回答