繁体   English   中英

获得有关infinispan异步复制错误的反馈

[英]Get feedback on infinispan asynchronous replication errors

我们有一个infinispan设置,其中我们将一些缓存复制到同步集群中的其他节点。 当其他节点之一崩溃或超时时,这有时会在putInCache调用中引起问题。

对我们来说重要的是,缓存更改确实会到达其他节点,但是,如果缓存放置的内容没有到达另一个节点,则应该发生故障并不重要。

我们不能使用putAsync,因为缓存放置的顺序至关重要。

最理想的方法是使用asyns复制,但要反馈节点在哪个节点上接收了缓存操作,因此我们可以采取措施(例如,在发生故障的节点上刷新缓存)。

有什么办法可以做到这一点?

在Infinispan中这是不可能的,无法确认何时锁定了密钥,并且无需先应用该密钥就可以安全地发出另一个写入。 您可以尝试使用putIfAbsentAsync / replaceAsync或8.0中包含的新功能API来保留较新的值。

异步复制(DIST_ASYNC,REPL_ASYNC)也不符合要求:发起节点没有收到来自其他节点的任何确认,因此无法知道何时真正完成写入。 而且,使用异步复制获得的排序是不可靠的:来自不同节点的写入不会被排序,甚至当密钥的“主要所有者”发生更改时,甚至可以重新排序来自同一节点的写入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM