RabbitMQ基本概念
2022-01-11 23:37:11 23 举报
RabbitMQ基本概念
作者其他创作
大纲/内容
publish
route-key:路由键
b
Broker消息代理
一个长连接,多条信道
Queue
Message【b(route-key)】消息头:参数设置、命令消息体:消息真正内容
Exchange交换器
a
Publisher生产者
Consumer消费者
假设路由键和B对应,交换机会将信息路由到b对应的消息队列
绑定:Binding
connection建立连接
一个客户端只会建立一个连接(长连接)但是有多条信道(channal)不同信道监听不同的队列进行收发消息
Queue负责存储消息
名词解释Message消息,由消息头和消息体组成。消息体就是我们消息真正的内容。消息头由一系列的可选的属性组成。包括route-key(路由键)、priority(消息优先权)、delivery-mode(标识该消息可能需要优先存储等)Publisher生产者,向交换机发布消息的客户端应用程序Consumer消息的消费者,从消息队列中获取消息的客户端应用程序Exchange交换器,用来接收生产者发送的消息,并将这些消息路由个服务器中的队列默认有四种类型:direct(默认)、fanout、topic、headers,不同类型的交互器转发消息的策略也有不同Queue消息队列,用来保存消息,直到消息发送给消费者。一个消息可投入一个或多个队列,消息会一直存放在队列中,等待消费者连接到队列将其取走Binding绑定,用来绑定消息队列和交换器之间的关联,一个Banding就是基于路由键交换器和消息队列连接起来的路由规则(大致就是路由表的意思)Connection网络连接,例如一个TCP连接Channel 信道,多路复用连接中的一条独立的双向数据流通道。信道是建立在真实的TCP连接内的虚拟连接,AMQP 命令都是通过信道发出去的,不管是发布消息、订阅消息、接收消息,都需要通过信道来完成,因为建立和销毁TCP连接的开销聚到,所有引入信道,复用一条TCP连接VirtualHost虚拟主机,表示一批交互器、消息队列等对象,每个虚拟主机都相当于一个缩小版的RabbitMQ服务器(类似于docker容器一样),比如我们开发、生产、测试可以建立不同的虚拟主机。Broker消息队列的服务器视图,包括上面的一些列东西
Exchange
Exchange负责接收消息
······ 虚拟主机/prod ······
c
信道channal
虚拟主机/dev
Queue消息队列
0 条评论
下一页