采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,以DB-DB为例,链式事务让两个事务连续提交可以降低出现不一致的概率。但是仍然有可能出现最后一步出错,倒数第二步已提交无法回滚的情况。那么如果出现这种情况一般怎么处理?如何补偿?
像这种情况,是不会有自动补偿或重试机制的,只能自己处理。然后,我们现在都是用spring data或mybatis,hibernate之类的框架,帮我们隐藏很多数据库操作的细节,所以要想在出错的时候自己再实现一些补偿或回滚的话,又会破坏很多地方,又会非常复杂。所以,可能最容易的方式就是在全局处理错误的地方,把错误记下来,如果能从异常信息里获得更多信息,如出错的数据库和表,知道是什么方法导致出错,就能通过另外的程序、或人工进行回滚或补偿。这需要注意的是,触发这个错误是比较麻烦的,想通过异常信息就定位错误也需要简洁良好的设计。还有,异常处理方法一定要做好冥等性。
非常感谢!
登录后可查看更多问答,登录/注册
掌握分布式事务实现技术,是架构师必备技能。
1.5k 13
1.4k 13
2.0k 12
1.9k 8
1.9k 7
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号