基本概念
Broker
容器: 它提供一种传输服务,它的角色就是维护一条从生产者到消费者的路线,保证数据能按照指定的方式进行传输,
关系
“exchange”接收发布应用程序发送的消息,并根据一定的规则将这些消息路由到“消息队列”。
“message queue”存储消息,直到这些消息被消费者安全处理完为止。
“binding”定义了exchange和message queue之间的关联,提供路由规则。
Exchange 和 Routing_Key
交换器,根据类型自带规则,一般和Queue配合。
Exchange的类型表格:
类型 | 名称xxxxxxxxx | 描述 |
---|---|---|
Direct Exchange | 直接匹配 | 通过Exchange名称+RountingKey来发送与接收消息. |
Fanout Exchange | 广播订阅 | 向所有的消费者发布消息,但是只有消费者将队列绑定到该路由器才能收到消息,忽略Routing Key. |
Topic Exchange | 主题订阅 | 根据Routing_Key的规则匹配消息,可以使用通配符: * 匹配任意单词 # 匹配单个或多个单词 |
Headers Exchange | 消息头订阅 | 用的不多,略 |
Queue
队列,也就是消息载体
Queue 和 AnonymousQueue 的区别
都是Queue的2种实现。
Queue默认值:
durable: true # 会持久化
exclusive: false # 不排他
autoDelete: false # 不自动删除
AnonymousQueue默认值:
durable: false # 不持久化
exclusive: true # 排他
autoDelete: true # 会自动删除
Binding
绑定交换器和队列,中间是否用routing_key和交换器类型有关。
一个交换器可以对应多个队列,一个队列也可以对应多个交换器。
vhost
虚拟主机,一个broker里可以有多个vhost,用作不同用户的权限分离。
来源:CSDN
作者:chushiyunen
链接:https://blog.csdn.net/enthan809882/article/details/104570238