可靠消息数据一致性
2021-11-24 14:15:55 1 举报
可靠消息数据一致性
作者其他创作
大纲/内容
是否执行成功?
服务B
业务库
拦截器
执行业务方法
拦截RPC请求判断自己的事务角色
事务日志库
2、插入一条事务参与者A的事务日志
如果方法执行成功,则把参与者A的事务日志状态修改为提交,否则修改为出错
服务C
1、发起RPC调用
4、发送所有参与者的事务信息到MQ
执行方法前判断自己的事务角色
1、确认自己为事务参与者
定时扫描数据库中异常状态的事务日志,将其发送消息到MQ,然后事务参与者监听到新消息,则重新尝试执行业务方法进行事务补偿操作
发送异常事务消息到MQ
事务参与者B
3、插入一条发起者的事务日志
事务发起者
服务A
2、插入一条事务参与者B的事务日志
MQ消息中间件
事务协调者
各个事务参与者监听MQ事务消息,重新尝试执行业务方法进行事务补偿操作
事务补偿线程
事务参与者A
2、确认自己为事务发起者
0 条评论
下一页