1、发送方   为保证消息到达exchange,在这个过程中不丢失。  用事务或者发送方确认机制  见《RabbitMQ实战指南》4.8节
2、为保证消息不会因为到达exchange后,无法路由到任何一个队列而丢失
      解决方案一:发送方发送消息时 令mandatory参数=true,用ReturnListener异步接收没有任何队列接收而返回给发送方的消息。  见《RabbitMQ实战指南》4.1.1节
      解决方案二:给exchange指定一个备份交换器及对应队列,到达交换器的消息如何无法路由到任何队列,就路由到备份交换器及对应的队列上  见《RabbitMQ实战指南》4.1.3节
3、为防止队列中消息被丢弃:
      情况一  消费消息设置了手动确认模式,被消费的消息被消费端拒绝,而且设置requeue=false,消息被丢弃
      情况二  有过期时间的消息或者设置了过期时间的队列,在到达过期时间后,消息被丢弃
      情况三  队列达到最大长度
      解决方案:设置死信队列,接收被丢弃的队列   见《RabbitMQ实战指南》4.3节
4、为防止由于服务器重启,导致队列中消息丢失。  使用持久化   见《RabbitMQ实战指南》 4.4节
5、为防止消息端在消息消息的过程中,消息丢失
       消息端设置手动确认收到消息   见《RabbitMQ实战指南》3.5节
6、以上情况,都是基于RabbitMQ节点,不会出现故障的解决方案。
    为应对节点故障,1、建立RabbitMQ集群。保证节点故障时,其他节点可以正常使用。
                                     唯一丢失的是故障节点的队列及队列上的消息,exchange与此队列的绑定,消费端与此队列的绑定  见《RabbitMQ实战指南》7.1节
                     2、为应对上面这种情况,设置 镜像队列   见《RabbitMQ实战指南》 9.4节

RabbitMQ,为应对消息从发送到消费,各个环节消息丢失的解决方案的更多相关文章

  1. 如何在优雅地Spring 中实现消息的发送和消费

    本文将对rocktmq-spring-boot的设计实现做一个简单的介绍,读者可以通过本文了解将RocketMQ Client端集成为spring-boot-starter框架的开发细节,然后通过一个 ...

  2. RabbitMQ 入门系列:7、保障消息不重复消费:产生消息的唯一ID。

    系列目录 RabbitMQ 入门系列:1.MQ的应用场景的选择与RabbitMQ安装. RabbitMQ 入门系列:2.基础含义:链接.通道.队列.交换机. RabbitMQ 入门系列:3.基础含义: ...

  3. RocketMQ的消息发送及消费

    RocketMQ消息支持的模式: 消息支持的模式分为三种:NormalProducer(普通同步),消息异步发送,OneWay. 消息同步发送: 普通消息的发送和接收在前面已经演示过了,在前面的案例中 ...

  4. Kafka消息重新发送

    Kafka消息重新发送   1.  使用kafka消息队列做消息的发布.订阅,如果consumer端消费出问题,导致数据并没有消费,此时不需要担心,数据并不会立刻丢失,kafka会把数据在服务器的磁盘 ...

  5. rabbitmq 不发送ack消息如何处理: RabbitMQ 消息确认以及消息消费方处理消息时候抛出了异常以

    本篇的代码使用的前面两篇文章<RabbitMQ与Spring整合之消息生产方>和<RabbitMQ与Spring整合之消息消费方>的代码,这两篇文件里配置文件的名称不正确,不可 ...

  6. springboot项目整合rabbitMq涉及消息的发送确认,消息的消费确认机制,延时队列的实现

    1.引入maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactI ...

  7. 基于springboot工程浅谈整合rabbitmq怎么样防止消息发送mq不丢失和消费mq的消息防止丢失

    本文只针对springboot整合rabbitmq的消息防丢失,话不多说,上干货.... 设置发送mq消息不丢失实现思路 执行的方案: 第一步,要对队列,消息以及交换机进行持久化操作(保存到物理磁盘中 ...

  8. RabbitMQ初学之二:直接发送消息到队列

    一. 背景 总前提:队列无论是在生产者声明还是在消费者声明,只有声明了,才能在RabbitMQ的管理界面看到该队列 生产者直接发送消息到队列,消费者直接消费队列中的消息,而不用指定exchange并绑 ...

  9. RabbitMQ消息确认(发送确认,接收确认)

    前面几篇记录了收发消息的demo,今天记录下关于 消息确认方面的 问题. 下面是几个问题: 1.为什么要进行消息确认? 2.rabbitmq消息确认 机制是什么样的? 3.发送方如何确认消息发送成功? ...

随机推荐

  1. hsy单词

    题意:略 在ac自动机上,一个节点出现的次数等于能通过fail到它的节点的次数之和.而叶节点就等于它被爬过的次数. #include <iostream> #include <cst ...

  2. 怎么样获取小米手机4的ROOT超级权限

    小米手机4有何方法开通了Root超级权限?各位都清楚,Android手机有Root超级权限,一旦手机开通了root相关权限,能够实现更强大的功能,打比方各位部门的营销部门的妹纸,使用个别营销工具都需要 ...

  3. php 两次encodeURI,解决浏览器跳转请求页乱码报错找不到页面的bug

    Not Found The requested URL /index.php/XXX/mid/97329240798095910/bname/3000T/D/sname/水泥粉磨/un ...

  4. windows/linux VPS云服务器限制IP访问,限制别人的IP访问网站方法

    服务器VPS云服务器如何限制IP访问,限制别人的IP访问网站的方法 windows主机IIS限制IP访问方法:首先打开IIS点击“网站”,右键属性,(如果仅给单个网站设置,请选择下边的站点,点右键“属 ...

  5. Android 开发第一项目——计算器的开发记录

    2017.4.1 今天布局界面基本完成,现在写了一点事件绑定.计划是多用动态绑定,随时用随时改.关于布局方面,昨天弄到很晚,原因是Layout使用错误,用的自带的,没仔细看,预览的时候没有问题但是真机 ...

  6. idea 的一些基本的配置

    1. 2. 3. http://139.199.89.239:1008/88414687-3b91-4286-89ba-2dc813b107ce 531403098@qq.com R+0oOAb3rx ...

  7. Azkaban工作流调度器

    Azkaban工作流调度器 在Hadoop领域常用的工作流调度系统 Oozie,Azkaban,Cascading,Hamake等等. 性能对比: 安装: 创建ssl配置 keytool -keyst ...

  8. Public_1.bat

    :: targetset targetFileName=Public_2set targetPath=./:: sourceset sourceFileName=Public_1@echo ui ru ...

  9. Java并发编程阅读笔记-同步容器、工具类整理

  10. RockerMQ实战之快速入门

    文章目录 RocketMQ 是什么 专业术语 Producer Producer Group Consumer Consumer Group Topic Message Tag Broker Name ...