【RabbitMQ】RabbitMQ的基本架构是什么?包括哪些核心组件?

【RabbitMQ】RabbitMQ的基本架构是什么?包括哪些核心组件?

RabbitMQ基于AMQP协议实现,由多个核心组件组成,确保消息的可靠传递。

Rabbit的架构图:

1.RabbitMQ的基本架构:

1.核心组件:

1.Producer(生产者): 发送消息到RabbitMQ。

2.Exchange(交换机) :接受生产者发送的消息,并根据路由规则将消息分发到队列。

3.Queue(队列) :存储消息,等待消费者消费。

4.Binding(绑定) :将交换机和队列关联起来,定义消息的路由规则。

5.Consumer(消费者) :从队列中获取消息并进行处理。

6.Connection(连接) :生产者或消费者与RabbitMQ之间的TCP连接。

7.Channel(信道):在连接的基础上创建的虚拟连接,用于执行具体的操作(如发送消息、消费消息)。

2.消息流转过程

2.1生产者发送消息:

生产者通过连接和信道 ,将消息发送到交换机。

消息 包含路由键和消息体。

2.2交换机路由消息:

交换机根据路由键和绑定规则 ,将消息发送到对应的队列。

2.3队列存储消息:

队列接收并存储消息,等待消费者消费。

2.4消费者消费消息:

消费者通过连接和信道 ,从队列中获取消息并处理。

消费者 可以手动或自动发送确认(ACK)给RabbitMQ。

3.核心组件的详细说明:

3.1Producer(生产者)

作用:发送消息到RabbitMQ。

关键操作 :

创建连接(Connection)。

创建信道(Channel)。

发送消息到交换机。

3.2Exchange(交换机)

作用 :接收生产者发送的消息 ,并根据路由规则 将消息分发到队列。

类型 :

Direct Exchange :根据路由键精确匹配队列。

Fanout Exchange :将消息广播到所有绑定的队列。

Topic Exchange :根据路由键的模式匹配队列。

Headers Exchange :根据消息头属性匹配队列。

3.3Queue(队列):

作用 :存储信息,等待消费者消费。

特性 :

消息先进先出(FIFO)。

设置持久化、优先级、TTL等属性。

3.4Binding(绑定)

作用 :将交换机和队列关联起来,定义消息的路由规则。

关键属性:

路由键(Routing Key) :用于匹配消息和队列。

3.5Consumer(消费者)

作用:从队列中获取消息并进行处理。

关键操作 :

创建连接(Connection)。

创建信道(Channel)。

订阅队列并消费消息。

3.6Connection(连接)

作用:生产者或消费者与RabbitMQ之间的TCP连接。

特性 :

一个连接可以创建多个信道。

连接是长连接,避免频繁建立和断开连接的开销。

3.7Channel(信道)

作用:在连接基础上创建的虚拟连接,用于执行具体的操作(如发送消息、消费消息)。

特性 :

一个连接可以创建多个信道。

信道是轻量级的,减少资源消耗。

4.总结:

Producer:发送消息。

Exchange:路由消息

Queue:存储消息。

Binding:定义路由规则。

Consumer:消费消息。

Connection:建立与RabbitMQ的连接。

Channel:执行具体操作的信道。

相关推荐

魔女 辛德拉 [1350 RP]
吕雉不杀薄姬的原因
ppt如何转换到空间?如何快速上传?
安装地址