RabbitMQ入门(三)RabbitMQ原理浅析

前言

      本章讲解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虚拟主机的选项卡

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章