RabbitMQ 消息服务二消息重发以及需要回执的消息的实现方式

作者/分享人:IT小香猪
向 Ta 提问
有着丰富传统web应用、移动应用、类电商平台实战经验。开源软件作者,有团队管理经验,现在知名企业做研发。

为什么要实现消息重发?任何一个系统都不敢保证100%稳定,消息重发是为了解决消息服务中心故障恢复后,能够让失败了的消息能发出去,业务系统能够尽可能的恢复数据。

什么是需要回执的消息?MQ 不能保证业务方接受消息处理后100%正确,回执就是在业务方处理完消息后主动给消息服务系统“反馈”我成功的处理了本次业务,你可以删除本条消息。

比较官方的 RabbitMQ 消息发送成功或失败的时候,都会调用 ConfirmListener 或者 ReturnListener。本场 Chat 所讲的实现是基于数据库实现的,不采用官方方案。官方方案对业务入侵很严重,处理业务过程中会掺杂非业务相关的逻辑。本场 Chat 会对消息重发、需要回执的消息这两种方案进行实战代码分析。

已有159人预订
预订达标
文章出炉
     
06月26日
07月11日
本场 Chat 文章已出炉,购买后即可阅读文章并获得一张IT小香猪的读者圈Pass
请务必添加GitChat服务号以查看活动进度及获取活动通知。
你可能还喜欢
如何成为一名合格的 C/C++ 开发者?
范蠡
微服务中的短信服务如何设计?
猿天地
亿级 QQ 会员活动运营系统的设计之道
廖声茂
数据科学 Kaggle 比赛项目实战:Titanic
刘明
分布式日志收集系统 Flume 应用:实时采集 Python 爬取豆瓣最新电影
Enzo
Hadoop 分布式数据存储层 HDDS:基于容器化的块服务架构层
爱闲逛的猿仔
深入浅出解读 Kafka 的可靠性机制
应书澜
算法设计之路:数据结构之线性表、栈、队列、串
谭东jay
深度学习中的数据
言有三
微服务架构的演进、融合与选型
老顽童
人脸识别入门实战
离梦远
一个后台工程师的界面情结
一念成魔
一小时入门 Python 3
明天依旧可好
Mongo 性能调优
blurooo
搭建微服务脚手架轻量级
邹虎
微信扫描登录