消息中间件的研究 (三) 协议
AMQP协议
-
是什么?: AMQP( Advanced Message Queuing Protocol) 高级消息队列协议使得遵从该规范的客户端应用和消息中间件服务器的全功能互操作成为可能。
-
为什么使用? : 目标是实现一种在全行业广泛使用的标准消息中间件技术,以便降低企业和系统集成的开销,并且向大众提供工业级的集成服务。宗旨是通过AMQP,让消息中间件的能力最终被网络本身所具有,并且通过消息中间件的广泛使用发展出一系列有用的应用程序。
-
深入理解
SpringBoot 整合WebSocket基于STOMP协议实现广播消息: https://segmentfault.com/a/1190000018387211
STOMP协议
简单(流)文本面向消息协议
STOMP协议提供了一个可互操作的连接格式,允许STOMP客户端与任意STOMP消息代理(Broker)进行交互
STOMP协议与HTTP协议很相似,是基于TCP协议,其客户端和服务器之间的通信是通过“帧”(Frame)实现的,每个帧由多“行”(Line)组成
MQTT协议
具有的特性:
1、使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合;
2、对负载内容屏蔽的消息传输;
3、使用 TCP/IP 提供网络连接;
4、有三种消息发布服务质量:
“至多一次”,消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。
“至少一次”,确保消息到达,但消息重复可能会发生。
“只有一次”,确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。
5、小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量;
6、使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制
资料: