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的主要内容,如果未能解决你的问题,请参考以下文章