zoukankan      html  css  js  c++  java
  • rabbitmq学习

    一、基础知识

      RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现。AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有很多公开标准(如 COBAR的 IIOP ,或者是 SOAP 等),但是在异步消息处理中却不是这样,只有大企业有一些商业实现(如微软的 MSMQ ,IBM 的 Websphere MQ 等),因此,在 2006 年的 6 月,Cisco 、Redhat、iMatix 等联合制定了 AMQP 的公开标准。

     

      

       2.死信队列

      当一条消息在队列中出现以下三种情况的时候,该消息就会变成一条死信。

    • 消息被拒绝(basic.reject / basic.nack),并且requeue = false
    • 消息TTL过期
    • 队列达到最大长度

           当消息在一个队列中变成一个死信之后,如果配置了死信队列,它将被重新publish到死信交换机,死信交换机将死信投递到一个队列上,这个队列就是死信队列。

      实践1  实践2  

    二、优缺点

      优点:解耦、异步、削峰

      缺点:

        1.如何保证消息不被重复消费

        2.如何保证消息的可靠性  实践   理论

        3.消息有序性

    三、常见面试题

      面试题1

      面试题2:死信队列

  • 相关阅读:
    L1-031 到底是不是太胖了
    L1-030 一帮一
    PyCharm--git配置
    websocket--python
    UDP--python
    TCP--python
    pytest--metadata
    pytest--xdist
    pytest--夹具
    pytest--变量
  • 原文地址:https://www.cnblogs.com/helq/p/14497243.html
Copyright © 2011-2022 走看看