使用Infinispan v9,我的应用程序使用分布式异步缓存模式,其中集群范围内的数据副本数量为3。
假设缓存条目123的数据所有者/副本位于节点A、B、C中。
对此,我有两个问题(假设它们不是由网络问题引起的(
- 如果节点C查询条目123,节点C是否会发现由于复制延迟而丢失该条目
- 如果节点D查询条目123,节点D是否会发现由于某种滞后而丢失该条目
假设节点A
是条目123的主要所有者(每个密钥有1个主要所有者和N-1
个备份所有者,其中N
是副本数(
- 是的,由于复制滞后,节点
C
可以读取过时的值 - 如果你有一些滞后,是的,这是可能发生的。当读取发生在非所有者节点(如
D
(中时,它首先尝试从主所有者(节点A
(获取值。如果A
没有及时回复,那么它将转到下一个所有者(节点B
(,因此是一个所有者
现在,如果A
及时回复,它就不会读取过时的值。否则,它可以从节点B
或C
读取过时值
您在文档中有这些信息(以及更多信息(。