zoukankan      html  css  js  c++  java
  • RabbitMQ运转流程

    生产者发送消息的过程

    1. 生产者连接到RabbitMQ Broker(相当于是一个RabbitMQ服务器),建立一个连接(Connection),开启一个信道(Channel)。
    2. 生产者声明一个交换器(Exchange),并设置相关属性,比如交换机类型、是否持久化等。
    3. 生产者生命一个队列(Queue)并设置相关属性,比如是否排他、是否持久化、是否自动删除等。
    4. 生产者通过路由键(RoutingKey)将交换器何队列绑定在一起。
    5. 生产者发送消息给RabbitMQ Broker,其中包含路由键、交换器等信息。
    6. 相应的交换器根据接收到的路由键查找相匹配的队列。
    7. 如果找到,则将从生产者发送过来的消息存入相应的队列中。
    8. 如果没有找到,则根据生产者配置的属性选择丢弃还是回退给生产者。
    9. 关闭信道。
    10. 关闭连接。

    消费者接受消息的过程

    1. 消费者连接到RabbitMQ Broker,建立一个连接(COnnection),开启一个信道(Channel)。
    2. 消费者向RabbitMQ Broker请求消费相应队列中的消息,可能会设置相应的回调函数,以及做一些准备工作。
    3. 等待RabbitMQ Broker回应并投递相应队列中的消息,消费者接收消息。
    4. 消费者确认(ack)接收到的消息。
    5. RabbitMQ从队列中删除相应已经被确认的消息。
    6. 关闭信道。
    7. 关闭连接。
  • 相关阅读:
    IOS-自定义返回按钮,保留系统滑动返回
    IOS-static cell 与 dynamic cell 混合使用
    IOS-快速集成检查更新
    IOS-如何优雅地拦截按钮事件(判断是否需要登录)
    IOS-更优雅地使用Static Cell
    Xcode8出现问题总结
    IOS-工程师Mac上的必备软件
    Minimum Sum of Array(map迭代器)
    C++ STL map
    Friends and Cookies(思维)
  • 原文地址:https://www.cnblogs.com/zifeiy/p/9492173.html
Copyright © 2011-2022 走看看