非等幂写情况下的一种语义

时间:2018-06-24 16:36:43

标签: scalability distributed-system compare-and-swap idempotent

有没有什么方法可以使非幂等请求成为幂等。

基本上,我要执行以下两个操作:

Op1 :CompareAndSwap(“ abc”,“ abca”)

Op2 :CompareAndSwap(“ abca”,“ abcab”)

现在在Op1和Op2的末尾,这就是我想要的(“ abcab”)

但是由于间歇性故障和随后的Op1操作重试,我最终可能会遇到“ abcaab”。这是因为我没有办法知道是否在客户端应用了Op1。另一个重试可能会附加更多数据。

那么有什么办法解决这个问题?

0 个答案:

没有答案