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

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

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

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

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

已有167人预订
预订达标
文章出炉
     
18.06.26
18.07.11
本场 Chat 文章已出炉,购买后即可阅读文章并获得一张IT小香猪的读者圈Pass
请务必添加GitChat服务号以查看活动进度及获取活动通知。
你可能还喜欢
大型 Java 应用后台重构技术策略详解
驰骋
微服务网关 Spring Cloud Gateway 的应用实战
aoho求索
Docker 的基础知识整理
假不理
如何采用一套程序代码,实现系统的“千人千面”
白公
JVM 常见面试题指南
驰骋
用领域驱动实现供应链系统商品录入和出入库设计
GIM
谈谈应聘阿里全流程
应书澜
Java 最常见 200+ 面试题全解析:面试必备
老王
分布式链路追踪的前世今生
ASCE1885
前端面试指导
程序员-玄魂
Dubbo 框架内核原理剖析
追梦
穷人的新年红包系统,单节点 12W TPS
文心紫竹
Postman 自动化测试实践一文通
白宦成
RocketMQ 消息类型介绍及实现原理探究
老田
Vue.js 快速开发小程序实战
芒果
微信扫描登录