石小疯 发表于 2025-3-23 19:51:05

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

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

https://i-blog.csdnimg.cn/direct/47bb4131c52449bcafceed5aa96f789a.png
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:执行详细操纵的信道。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 【RabbitMQ】RabbitMQ的根本架构是什么?包罗哪些核心组件?