RabbitMQ架构设计
-
Producer:负责产生消息。
-
Connection:RabbitMQ客户端和代理服务器之间的TCP连接。
-
Channel:建立在连接之上的虚拟连接,RabbitMQ操作都是在信道中进行。
-
Broker:一个Broker可以看做一个RabbitMQ服务节点或者服务实例。
-
Exchange:生产者发送消息到交换器,交换器根据路由key投递到相应的队列。
-
Queue:存储消息的队列 。
-
RoutingKey:路由键,指定消息的路由规则。
-
BindingKey:绑定键,关联交换器和队列。
-
Consumer:消费消息。
路由机制
- Direct:默认方式,根据消息的路由键完全匹配队列的绑定键来分发消息。
- fanout:广播模式,将消息投递到所有绑定到交换器的队列。
- topic:使用模糊匹配的方式根据路由键将消息分发到不同的队列中,支持通配符(*和#)进行匹配。
- header:不依赖路由键,而是根据消息的头部信息来进行匹配和分发。