消息队列概述
消息队列是一种进程间通信或同一进程的不同线程间的通信方式,软件的贮列用来处理一系列的输入,通常是来自用户。
消息队列提供了异步的通信协议,消息的发送者和接收者不需要同时与消息队列交互。消息会保存在队列中,直到接收者取回它。
-
Producer:消息生产者,负责产生和发送消息到 Broker。
-
Broker:消息处理中心。负责消息存储、确认、重试等,一般其中会包含多个 queue。
-
Consumer:消息消费者,负责从 Broker 中获取消息,并进行相应处理。
MQ的基础特性,MQTT也有:
异步 --- 消息队列本身是异步的,它允许接收者在消息发送很长时间后再取回消息,这和大多数通信协议是不同的。
解耦 --- 消息队列减少了服务之间的耦合性,不同的服务可以通过消息队列进行通信,而不用关心彼此的实现细节,只要定义好消息的格式就行。
广播 --- 消息队列的基本功能之一是进行广播。如果没有消息队列,每当一个新的业务方接入,我们都要联调一次新接口。
流量削峰与流控 --- 当上下游系统处理能力存在差距的时候,利用消息队列做一个通用的”载体”。在下游有能力处理的时候,再进行分发与处理。
MQTT在MQ上添加的十大优势:
1.精简,不添加可有可无的功能。以发布/订阅(Pub/Su