事务原子性,一致性,持久性,隔离性是基本的属性,这里不解释,本篇文章只对分布性事务方案做说明方案
问题来源
随着分布式微服务应用盛行,带来的优势是显而易见的,但是在面临事务的时候,缺变的异常麻烦,因为是在不同的应用内,所以无法在单个应用内做回滚处理,这个时候,就需要有一个单独的应用做,补偿性事务处理。由此引入本篇的内容,改内容配图参考火龙学院开源支付系统
异步确保性,确定消息最终一致性
从图中可以看到,业务对A消息队列进行处理,处理完成后,将处理状态推送至B消息队列中,消息恢复系统对这个AB两个队列,进行对比,状态为完成的消息进行重新推送,或者数据恢复原始状态
最大努力通知型
在小编遇到的大部分saas服务合作商中,大部分都属于这种,及当没有收到支付通知消息时候,主动调用,状态查询接口,去进行状态更新,如上海的某生活缴费服务提供商
附录
具体的技术实现方案,小编正在编码中...
网友评论