柔性事务解决方案:可靠消息最终一致(异步确保型)
2018-03-16 19:08:11 140 举报
柔性事务解决方案:可靠消息最终一致(异步确保型)
作者其他创作
大纲/内容
可靠消息最终一致(异步确保型)
被动方的处理结果不影响主动方的处理结果, 被动方的消息处理操作是幂等操作
消息
业务数据
对应支付系统会计异步记账业务
消息状态确认系统定期找到未确认发送或回滚发送的消息,向业务处理服务询问消息状态
请求发送
业务处理服务在业务事务提交前,向实时消息服务请求发送消息,实时消息服务只记录消息数据,而不真正发送
可靠消息服务
业务处理服务
实现
成本
确保业务数据可靠的前提下,实现业务数据的最终一致(理想状态下基本是准实时一致)
业务处理服务在业务事务提交后,向实时消息服务确认发送
应用场景
消息恢复系统
业务处理服务在业务事务回滚后,向实时消息服务取消发送
可靠消息系统建设成本
银行通知结果信息存储与驱动订单处理
约束
确认发送
方案特点
兼容所有实现JMS标准的MQ中间件(本项目中实现的方案)
业务处理服务根据消息ID或消息内容确定该消息是否有效
优点、适应范围
只有在得到确认发送指令后,实时消息服务才真正发送
取消发送
可查询操作、幂等操作
发送消息
消息状态确认系统
事务域
消息数据独立存储、独立伸缩,降低业务系统与消息系统间的耦合
用到的服务模式
对最终一致性时间敏感度较高,降低业务被动方实现成本
消息数据
0 条评论
回复 删除
下一页