分布式事务学习-消息发送一致性分析(五)

消息发送一致性

消息发送一致性:是指产生消息的业务动作与消息发送的一致。(也就是说,如果业务操作成功,那么由这个业务操作所产生的消息一定要成功投递出去,否则就丢消息)


消息发送一致性的正向分析

分布式事务学习-消息发送一致性分析(五)


消息发送一致性的异常情况分析

分布式事务学习-消息发送一致性分析(五)


分布式事务学习-消息发送一致性分析(五)



分布式事务学习-消息发送一致性分析(五)


MQ队列消息的生产与消费常规流程

分布式事务学习-消息发送一致性分析(五)



分布式事务学习-消息发送一致性分析(五)


常规MQ队列消息的处理流程无法实现消息发送一致性,因此直接使用现成的MQ中间件产品无法实现可靠消息最终一致性的分布式事务解决方案

消息重复发送问题

消息重复发送的原因

分布式事务学习-消息发送一致性分析(五)


业务接口的幂等性设计
约束:被动方应用对于消息的业务处理要实现幂等。

对于存在同一请求数据会发生重复调用的业务接口,接口的业务逻辑要实现幂等性设计。

消息重发也得有次数限制,要不然就变成了死循环。
对于超过重发次限制的消息,进入DLQ,等待人工干预或延后定期处理。