rabbitmq如何保证消息不丢失

rabbitmq的消息流

信息发送者-交换器-队列-消息消费者

哪个环节都容易丢失消息

  • 消息未到交换器
  • 消息未到队列
  • 队列中的消息丢失
  • 消费者未接受到消息

如何判断消息是否丢失?

利用publisher confirm机制来判断。

消息丢失如何处理?

  1. 回调方法即时重发
  2. 保存日志
  3. 保存到数据库然后定时重发,成功发送后即刻删除表中数据

MQ默认是内存存储消息,开启持久化功能可以确保缓存在MQ中的消息不丢失。

交换机持久化

队列持久化

消息持久化

相关推荐
佛祖让我来巡山14 小时前
RabbitMQ 完整总结:架构、实战与可靠性保障
rabbitmq·消息队列可靠性
2501_941804321 天前
Java在高并发互联网服务开发中的架构设计与性能优化实践全景分享
rabbitmq
努力发光的程序员1 天前
互联网大厂Java面试:从Spring Boot到微服务架构
spring boot·缓存·微服务·消息队列·rabbitmq·spring security·安全框架
2501_941147421 天前
基于 Kotlin 与 Ktor 构建高并发微服务与异步分布式系统实践分享
rabbitmq
debug骑士1 天前
面向云原生微服务的Go高并发架构实践与性能优化工程化经验分享案例研究
rabbitmq
2501_941802481 天前
Java高性能微服务架构与Spring Boot实战分享:分布式服务设计、负载均衡与优化经验
rabbitmq
2501_941147422 天前
高并发日志系统ELK/Fluentd/ClickHouse在互联网优化实践经验分享
rabbitmq
JSON_L2 天前
Fastadmin 使用RabbitMQ队列
rabbitmq·php·fastadmin
2501_941225682 天前
Go语言高性能API网关设计与gRPC实战分享:微服务接口优化与负载均衡经验
rabbitmq
源码梦想家2 天前
面向未来软件工程实践:基于Go语言的高并发架构设计思考与经验分享案例分析研究方法探讨
rabbitmq