MQ

02-RabbitMQ

2021-07-04  本文已影响0人  紫荆秋雪_文

一、四大核心概念

1、生产者

产生数据发送消息的对象成为生产者

2、交换机

交换机一方面接收来自生产者的消息,另一方面它将消息推送到队列中,交换机像个中转站

3、队列

队列是RabbitMQ内部使用的一种数据结构,尽管消息流经 RabbitMQ 和 应用程序,但他们只能存储在队列中。队列仅受主机的内存和磁盘限制的约束,本质上是一个大的消息缓存区。

3、消费者

消费与接收具有相似的含义。消费者大多时候是一个等待接收消息的程序

二、RabbitMQ工作原理 RabbitMQ工作原理.png

1、Producer

生产者,产生消息

2、Connection

publisher / consumer 和 broker 之间的TCP连接

3、Channel

如果每一次访问 RabbitMQ 都建立一个 Connection,在消息量大的时候建立TCP Connection的开销将是巨大的,效率也较低。Channel是在Connection内部建立的逻辑连接,如果应用程序支持多线程,通常每个 Thread 创建单独的Channel进行通讯,AMQP Method 包含了 Channel id帮助客户端和 Message Broker 识别 Channel,所以Channel之间是完全隔离的。Channel作为轻量级的Connection极大减少了操作系统建立TCPConnection的开销

4、Broker

接收和分发消息的应用,RabbitMQ Server就是 Message Broker

5、Exchange

Message到达Broker的第一站,根据分发规则,匹配查询表中的Routing key,分发消息到Queue中去

6、Queue

消息最终被送到这里等待Consumer取走

7、Binding

Exchange和Queue之间的虚拟连接

8、Consumer

消费者,消费Queue中消息

9、Virtual host

出于多租户和安全因素设计的,把AMQP的基本组件划分到一个虚拟的分组中,类似于网络中的 namespace 概念。当多个不同的用户使用同一个 RabbitMQ Server 提供的服务时,可以划分出多个vhost,每个用户在自己的vhost创建exchang / queue等

三、RabbitMQ 六大工作模式

1、Hello World模式 Hello World模式.png

2、Work queues模式 Work queues模式.png

3、Publish/Subscribe模式 Publish/Subscribe模式.png

4、Routing模式 Routing模式.png

5、Topics模式 Topics模式.png

6、RPC模式 RPC模式.png

上一篇 下一篇

猜你喜欢

热点阅读