美文网首页
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高级特性

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