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. 关闭连接。
  • 相关阅读:
    浏览器和node中的event loop的区别
    path.resolve(dir)与path.join(__dirname,dir)的区别
    如何在typescript项目中使用eslint
    eslint无法检测ts类型错误
    todo
    brew update 卡住
    async await原理
    node的require
    Hive表头导出成csv文件
    算法--决策树
  • 原文地址:https://www.cnblogs.com/zifeiy/p/9492173.html
Copyright © 2011-2022 走看看