RabbitMQ

Posted WCK的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RabbitMQ相关的知识,希望对你有一定的参考价值。

RabbitMQ:基于AMQP的开源消息代理软件

一、AMQP高级消息队列协议

1. 什么是AMQP

​ AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。Erlang中的实现有RabbitMQ等。

2. AMQP工作流程

​ 发布者(Publisher)发布消息(Message),经过交换机(Exchange),交换机根据路由规则将收到消息分发给交换机绑定的队列(Queue),最后AMQP代理会将消息投递给订阅了此队列的消费者,或者消费者按照需求自行获取。

![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DMVJRwnY-1659271806874)(images/AMQP.jpeg)](https://img-blog.csdnimg.cn/d038d59c01484e52a43517247b84a853.jpeg)

3. 什么是消息队列

​ 队列是数据结构中概念。数据存储在一个队列中,数据是有顺序的,先进的先出,后进后出。其中一侧负责进数据,另一次负责出数据。

​ MQ(消息队列)很多功能都是基于此队列结构实现的,队列也是解决高并发下排队问题的解决方案,即使恰巧出现同一时刻向队列添加的两个数据,也会有CPU帮助判

以上是关于RabbitMQ的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot(十四)RabbitMQ延迟队列

[SpringBoot] Spring Boot(14)RabbitMQ延迟队列

RabbitMQ广播模式

RabbitMQ---广播模式

RabbitMQ 消息状态

高并发