分布式事务:保证最终一致性
业务场景:
解决:
通过rabbitmq实现:
第一种:订单如果没数据 整个消息直接丢弃掉(简单粗暴)
第二种:补单
要完成这些步骤要注意一下三要素:
关键点1:保证消息投递到消息队列
关键点2:queue中的消息被正确的消费
关键点3:如何确保第一个事务正确性(订单一定创建成功)
消息的幂等性:不可能一份外卖两个人同时去送;不可能生成两个订单号一样的订单(索引)
其它:
如果没有分布式,要实现多个数据库事务可以基于数据库XA协议的方式
本文来自博客园,作者:孙龙-程序员,转载请注明原文链接:https://www.cnblogs.com/sunlong88/articles/10463533.html