微服务中分布式事务的回滚处理
上次说的幂等的 api 是从 api 层⾯考虑的事务控制,这次从数据层⾯考虑事务控制的设计
所有参与事务的数据都带有⼀个 operation_version 字段,每次执⾏事务的操作需传⼊⼀个整个系统全局唯⼀的 id,这需要⼀个unique id generator (⽐如 )
具体操作分为 create, update, delete, query分布式和微服务的关系
create ⽐较简单,需要回滚只需要遍历各个服务删除所有 operation_version 对应的数据就可以了
update 需要做数据备份,回滚时需要恢复旧数据,单条数据整体备份就可以了,恢复也⽐较简单
delete 需要字段做为标记删除,删除时标记删除,恢复只要取消标记删除就可以了
query 因为有做了标记删除,所以查询时需要增加过滤条件,过滤掉标记删除的数据
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论