可靠消息服务
2019-07-16 13:52:27 29 举报
可靠消息服务
作者其他创作
大纲/内容
N
定时任务(xxljob)
消息服务
结束
执行业务
分布式锁防止重复投递
发送消息
Y
是否成功
失败次数加1
更新消息状态为成功
发送确认是否成功
业务系统
异步发送消息
同步
提交事务
提交事务后调用发送消息接口
是否重试
等于或大于最大重试次数
落地待发送消息
调用消息服务保存消息
轮询筛选出需重复投递数据(超时1分钟并且重试次数小于最大失败次数的待发送状态数据)
更新消息状态为失败(建议人工干预)
发送确认回调
回滚事务
MQ
#适用于同一事务的可靠消息#发送确认分为两步,一是确认是否到达交换器,二是确认是否到达队列。#消息消费端需做幂等性。一种是极端情况值得我们考虑,那就是网络闪断。我们的消息成功投递到Broker,但是在回送ACK确认消息时,由于网络闪断,生产者没有收到。此时我们再重新投递此消息可能会造成消费端重复消费消息了。一种是xxljob同一时间触发了多次。
收藏
收藏
0 条评论
回复 删除
下一页