延迟消息,进行二次确认,回调检查的相关问题
来源:3-3 消息如何保障 100% 的投递成功方案-2

qq_哈之仆_0
2018-08-31
如下图,讨论的场景基于方案二
第一个问题,Step 4 完成后,是不是也需要在发送一个延迟确认消息(参考Step 2),来保障消息可靠到达。还是单独依赖 ConfirmListener 和 ReturnListener 来重试,超过重试次数,怎样处理,是向 MSG DB 插入失败消息记录还是其他。
第二个问题,Step 2 发送的延迟确认消息假如在经历最大重试次数后,任然没有发送成功,是不是应该向 MSG DB 中插入一条失败的消息记录,还是做其他处理。
写回答
2回答
-
2次投递就是利用延长插件去做的,可以中间'设置一个短暂的时间间隔,当然如果有必要也要做confirm,只不过不存储和更新消息记录表了,少了一次持久化,提升性能,做一个优化。
062018-08-31 -
qq_哈之仆_0
提问者
2018-08-31
第一个问题: 消息发送的操作进行封装,每次调用Api,底层做延迟消息二次发送处理。
第二个问题: 延迟消息超过重试次数大概率是业务链路出现了问题,进行链路追踪,手动补偿。日记记录,数据库不记录失败的消息
112018-08-31
相似问题