RabbitMQ 基本概念

RabbitMq基本概念

  1. AMQP

    image-20220213101217899

    • Broker: 接收和分发消息的应用,RabbitMq 就是 Broker
    • Virtual Host: 虚拟 Broker,将多个单元隔开
    • Connection: publisher /comsumer和 broker 的 TCP 链接
    • Channel: connection 内部建立连接的逻辑连接, 通常每个线程创建单独的 channel
    • Routing Key: 路由键, 用来指定消息的路由转发,相当于快递的地址
    • Exchange: 交换机,相当于快递的分拨中心
    • Queue: 消息最终被送到这里等待 consumer 取走
    • Binding: exchange 和 queue 之间的虚拟连接,用于 message 的分发依据
  2. 核心概念 Exchange

    1. 作用:是 AMQP 和 RabbitMQ 的核心组件
      1. 根据绑定关系和路由键为消息提供路由,将消息转发至相应的队列
      2. 有四种类型:
        1. Direct
        2. topic
        3. Fanout
        4. Headers(使用较少)
  3. Direct Exchange: 当 Routing Key 和 Binding Key 一致时, Direct Exchange 直接将 message 发送到对应队列

image-20220213102451245

image-20220213102536269

  1. Fanout Exchange: 每个 Fanout Exchange 的 message 都会分发到所有绑定的 queue 上去的

image-20220213102639830

image-20220213102711473

  1. Topic Exchange: 根据 Routing Key 及通配规则,Topic Exchange 将消息分发到目标 MQ 中
    1. Routing Key 和 Binding Key 完全一致时, 与 Direct 相同
    2. Binding Key 中的#: 匹配任意个数的 word
    3. Binding Key 中的*: 匹配1个 word

image-20220213104139974

image-20220213112429506

image-20220213112359592

image-20220213112513133

posted @ 2022-02-13 11:37  那个吧..你懂的!  阅读(32)  评论(0编辑  收藏  举报