RabbitMQ是一个开源的消息代理软件,它实现了高级消息队列协议(AMQP)标准,提供可靠的消息传递机制。RabbitMQ可以用于在应用程序之间传递消息,实现不同应用系统之间的解耦和通信。它支持多种编程语言,并提供了丰富的功能和插件,使得开发者能够更轻松地构建分布式系统。RabbitMQ支持多种开放标准协议,包括AMQP 1.0和MQTT 5。
本节内容是对rabbitmq核心组件及其工作原理的介绍,方便我们更加清楚的使用rabbitmq作为消息中间键实现我们具体的业务场景。
- # latest RabbitMQ 3.13
- docker run -it --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.13-management
①Broker(服务器)
②Exchange(交换机)
③Queue(队列)
④Binding(绑定关系)
⑤Connection(通信连接)
⑥Channel(信道)
⑦Virtual host
发布消息:生产者producer通过Connection连接与broker服务器建立一个Channel信道,将消息发送给交换机Exchange,交换机通过路由键router-key将不同主题的消息通过路由键转发给消息队列Queue,消息被存储在Queue队列中,默认是内存存储,服务器重启消息会丢失,生产使用一般会开启持久化存储。
消费消息:消费者consumer通过Connection连接与broker服务器建立一个Channel信道,主动拉取或者通过服务器推送来消费消息。
至此,关于rabbitmq的核心组件及其工作原理的内容到这里就结束了,我们下期见。。。。。。