美文网首页
RabbitMQ高级特性

RabbitMQ高级特性

作者: 宁静的猫 | 来源:发表于2020-01-27 20:38 被阅读0次

1、Confirm机制

消息的确认,是指生产者投递消息后,如果Broker收到消息,会给我们生产者一个应答。
生产者进行接受应答,用来确定这条消息是否正常的发送到Broker,这种方式也是消息可靠性投递的核心保障。

2、Return机制

Return Listener用于处理一些不可路由的消息。
生产者发送消息的时候,当exchanger不存在或者指定的路由key路由不到,生产者可以使用Return Listener监听这种不可达的消息。

3、消费者ACK与重回队列

消费端关闭自动签收时,需要手动签收一条消息,如果消费者a收到了消息a但是没有ack,也没有unack,消费者a不会再次接收到消息a,消息a在队列中的状态是unacked,当消费者a断开与mq的连接后,消费者b可以继续接受并像消费者a一样处理消息a。
当消费端关闭自动签收,并且打开requeue,消费端unack一条消息后,该消息会经入重回队列,用于再次投递,一般建议关闭requeue。

4、死信队列DLX

当消息在一个队列中变成死信之后,它能被重新publish到另一个Exchange,这个Exchange就是DLX。
消息变成死信有如下几种情况:

1、消息被拒绝(reject/nack)并且requeue=false
2、消息TTL过期
3、队列达到最大长度

5、可靠性传输

一般情况下,可以按照以下流程保证100%投递成功


可靠性传输

若还要提高可靠性,可以一次发送两条消息,第二条延迟发送,做回调检查,中间再增加一个消息回调服务。

相关文章

  • RabbitMQ高级特性

    消息如何保障100%的投递成功? 什么是生产端的可靠性投递? 1、保障消息的成功发出 2、保障MQ节点的成功接收 ...

  • RabbitMQ高级特性

    0. 前言 本文内容分为如下三部分RabbitMQ高级特性 消息可靠性投递Consumer ACK消费端限流TTL...

  • RabbitMQ高级特性

  • RabbitMQ高级特性

    1、Confirm机制 消息的确认,是指生产者投递消息后,如果Broker收到消息,会给我们生产者一个应答。生产者...

  • RabbitMq高级特性

    1.消息如何保证100%投递成功 在学习队列的时候,我想很多朋友都在考虑这个问题。在讲RabbitMq的消息可靠性...

  • RabbitMQ(二):RabbitMQ高级特性

    RabbitMQ是目前非常热门的一款消息中间件,不管是互联网大厂还是中小企业都在大量使用。作为一名合格的开发者,有...

  • RabbitMQ之八高级特性

    个人专题目录 1. RabbitMQ 高级特性 1.1 消息可靠性投递 在使用 RabbitMQ 的时候,作为消息...

  • RabbitMQ高级特性(1)

    一、生产端-可靠性投递 解决方案:消息落库,对消息状态进行打标 二、消费端-幂等性保障 在海量订单产生的业务高峰期...

  • RabbitMQ高级特性(2)

    一、消费端限流 1.什么是消费端的限流 假设一个场景,首先,Rabbitmq服务器有上万条未处理的消息,我们随便打...

  • RabbitMQ实战(三)-高级特性

    0 相关源码 1 你将学到 如何保证消息百分百投递成功 幂等性 如何避免海量订单生成时消息的重复消费 Confir...

网友评论

      本文标题:RabbitMQ高级特性

      本文链接:https://www.haomeiwen.com/subject/nwcethtx.html