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