弱一致性的问题
所以在选择恢复机制的时候是有讲究的。比如undo,retry,give up等等。
但是对于undo ,retry的情况我的疑问就是:因为这两个操作也可能存在异常的情况,那么当异常出现的时候,如何来处理,可能,因为没有了事物的控制,所以又可能带来数据的丢失等情况,比如卖票的情况,到了一个状态 prcessing,然后需要等待用户付款后,然后再更新到saled,但是在更新的时候报错,此时状态仍然是Processing,那么我们需要利用一个操作将processing变为available,但是这个操作也有可能出现失败的危险,所以仍然无法保证,好像到了一个死循环里面一样。
但是可以通过后台一个线程去扫描状态中间状态,将值批量更新回来。但是仍然感觉很奇怪。。不知道这样一种情况该如何处理。
实际本人某些时候还是被数据库事务的思想束缚着。望banq指点迷津。。。。