分布式系统中存在多系统之间的请求一致性问题,所以用到了分布式事务,解决方案有:
柔性事务
基于BASE原则,保证系统基本可用,并保证数据最后一致性。
BASE 是 Basically Available(基本可用)、Soft state(软状态)和 Eventually consistent (最终一致性)三个短语的缩写,是对 CAP 中 AP 的一个扩展。
基于可靠消息的最终一致性方案详解
1.基于本地消息的最终一致性
其核心相思是在处理业务数据和消息数据处添加了确认机制,即先发送消息到第三方存储系统中,此时消息并不是到真正的mq系统中,此时的消息状态可认定为”预发布“状态,待业务数据处理完成后变更对应的消息为”可发送“状态, 再起定时 任务将可发送状态的消息真实发送到 mq中, 以达到发送者的一致性。待消息者消费消息后根据ack机制将第三方存储系统中的消息进行删除或变更状态。
2.独立消息服务的最终一致性
其核心思想跟 本地消息基本相同,不同之处在于将第三方存储到发送到mq之间的步骤做成了相应的服务,即独立的消息服务。因为是独立 的服务可方便进行横向扩展并做HA处理,
相关文章:
分布式事务中常见的三种解决方案
https://www.cnblogs.com/bluemiaomiao/p/11216380.html
第一次有人把“分布式事务”讲的这么简单明了
https://developer.51cto.com/art/201808/581174.htm#topx
MQ消息最终一致性解决方案
https://www.jianshu.com/p/eb571e4065ec
分布式事务解决方案(三)【基于可靠消息的最终一致性(独立消息服务实现)】
https://blog.csdn.net/WuLex/article/details/80938734?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-2