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

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

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

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

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

已有135人预订
预订达标
文章出炉
     
06月26日
07月11日
本场 Chat 文章已出炉,购买后即可阅读文章并获得一张IT小香猪的读者圈Pass
请务必添加GitChat服务号以查看活动进度及获取活动通知。
退款保证:
• 07月03日前,预订人数未达标,您将获得全额退款。
• 作者未按时完成文章,您将获得全额退款。
你可能还喜欢
哪些算法和数据结构是需要程序员必须掌握的?
zhen.guo
ACT 敏捷教练培养体系
Chat 三人行
Spring Cloud Consul 从入门到精通
如梦技术 dreamlu
Spring Data JPA 晋级提升篇:复杂场景实战用法与优化
张振华
程序员的自我进化:学习之道,如何更有效的学习
Soyoger
高并发、高性能 Web 架构解决方案
Array老师
Spring 注解是如何实现的
飞翔
深入理解领域驱动设计中的聚合(aggregates)
张刚
分布式事务原理探究
追梦
如何正确使用 Spring Cloud?
老顽童
基于 Redis 的分布式锁实现及踩坑案例
应书澜
微服务概述及微服务文档输出实战应用
thinkers
Spring 事务配置解惑
追梦
本地事务原理探究
追梦
深度学习第一课:极简入门
绿色羽毛
微信扫描登录