前言
本章讲解RabbitMQ的基本原理
方法
1.原理图
2.名词解释
publisher:消息的生产者,也是一个向交换器发布消息的客户端应用程序
Exchange:RabbitMQ的核心,也是我们必须要理解的东西,这个就是RabbitMQ的交换器。
常见的交换器有以下三种:
1)Direct(发布与订阅,完全匹配)默认
2)fanout(广播)
3)topic(主题,规则匹配)
这个我们后面会重点讲解这三种交换器。
Queue:消息队列,用来保存消息直到发送给消费者,也是RabbitMQ的核心组件
Binding:所谓绑定就是将一个特定的 Exchange 和一个特定的 Queue 绑定起来,基于路由键进行标识
Routing-Key:路由键,RabbitMQ决定消息投递到哪个队列的规则,发送消息时,消息将绑定一个路由键,由路由键决定投递到哪个队列
Virtual Host:每一个vhost本质上是一个迷你版的rabbitmq server,分别管理各自的exchange,和bindings。vhost相当于物理的server,可以为不同app提供边界隔离,使得应用安全的运行在不同的vhost实例上,相互之间不会干扰。producer和consumer连接rabbit server需要指定一个vhost。默认的vhost为/
Broker:表示消息队列服务器的实体,其可以拥有多个vhost
Connection:指的是RabbitMQ与服务之间建立的TCP连接
Channel:信道,一个TCP连接可以有多个信道,消息的发布、订阅等都通过信道完成
Consumer:消息的消费者,表示一个从消息队列中取得消息的客户端应用程序
3.默认的通信过程
1)首先消息的生产者将生产出的消息发送至交换器Exchange
2)Exchange收到消息,根据路由键,将消息转发给匹配的Queue
3)此时,Queue收到消息,根据路由键将消息发送给指定的消息消费者
4)消费者收到消息,返回信息给Queue表示收到信息
4.图形化界面的选项卡
1)表示Connection连接的选项卡
2)表示Channel信道的选项卡
3)表示Exchange交换器的选项卡
其中AMQP default为默认的选项卡,它的类型就是direct
4)表示Queue队列的选项卡
5)表示Virtual Host虚拟主机的选项卡