RabbitMQ(一)
1、概念介绍
- Producer:生产者
- Consumer:消费者
- Broker:消息中间件的服务节点,可以看作一个RabbitMQ服务节点。
- Queue:队列,用于存储消息
- Exchange:交换器
- RoutingKey:路由键,生产者将消息发给交换机的时候,一般会指定一个RoutingKey,用来指定这个消息的路由规则,而这个RoutingKey需要与交换器类型和绑定键(BindingKey)联合使用才能最终生效。
- BindingKey:绑定键,RabbitMQ中通过绑定将交换器与队列关联起来,在绑定的时候一般会指定一个绑定键,这样RabbitMQ就知道如何正确地将消息路由到队列了。

生产者将消息发送给交换机时,需要一个RoutingKey,当BindingKey和RoutingKey相匹配时,消息会被路由到对应的队列中。在绑定多个队列到同一个交换器的时候,这些绑定允许使用相同的BindingKey。BindingKey并不是在所有情况下都生效,它依赖于交换器类型,比如Fanout类型的交换器就会无视BindingKey,而是将消息路由到所有绑定到该交换器的队列中。
2、优点
- 可靠性:RabbitMQ使用一些机制来保证可靠性,如持久化、传输确认及发布确认等。
- 灵活的路由:在消息进入队列前,通过交换器来路由消息。
- 扩展性:多个RabbitMQ节点可以组成一个集群,也可以根据实际业务情况动态地扩展集群中节点。
- 高可用:队列可以在集群中的机器上设置镜像,使得在部分节点出现问题的情况下队列仍然可用。
- 多种协议:支持AMQP、STOMP、MQTT等多种协议。
- 多语言客户端
- 管理界面:提供易用的用户界面,使得用户可以监控和管理消息、集群中的节点等。
- 插件机制:提供许多插件,实现多方面扩展。

浙公网安备 33010602011771号