一、 AMQP 简介
1 AMQP 是什么?
AMQP(Advanced Message Queuing Protocol,高级消息队列协议)是进程之间传递异步消息的网络协议。
2 AMQP 工作过程
发布者(Publisher)发布消息(Message),经过交换机(Exchange),交换机根据路由规则将收到消息分发给交换机绑定的队列(Queue),最后 AMQP 代理会将消息投递给订阅了此
队列的消费者,或者消费者按照需求自行获取。
3 队列
队列是数据结构中概念。数据存储在一个队列中,数据是有顺序的,先进的先出,后进后出。其中一侧负责进数据,另一次负责出数据。MQ(消息队列)很多功能都是基于此队列结构实现的
二、 RabbitMQ 简介
1 RabbitMQ 介绍
RabbitMQ 是由 Erlang 语言编写的基于 AMQP 的消息中间件。而消息中间件作为分布式系统重要组件之一,可以解决应用耦合,异步消息,流量削峰等问题。
1.1 解决应用耦合
1.1.1 不使用 MQ 时
1.1.2 使用 MQ 解决耦合
2 RabbitMQ 适用场景
排队算法、秒杀活动、消息分发、异步处理、数据同步、处理耗时任务、流量销峰等。
三、 RabbitMQ 原理