上一篇介绍了Redo Log,这篇介绍No Redo Log。
在分布式系统中,某些情况下我们依然需要实现原子操作,有很多方式,其中No Redo(Undo) Log 便是在工程中运用最广泛的思想之一。他的过程非常简单。
下面是一个简单系统的状态。
为了实现原子的修改 A,B,C的值。我们把A,B,C 看成一个集合,或是一个“目录”。
1.做一次copy
2.对于每个更新的操作,创建一个新的item,然后在新的目录中保存修改后的新值。
3.原子性的修改生效目录指针。
通过原子性的修改一个值,切换一个状态,完成一系列分布式操作原子性的修改。