消息中间件的研究 (三) 协议

 

AMQP协议

  1. 是什么?: AMQP( Advanced Message Queuing Protocol) 高级消息队列协议使得遵从该规范的客户端应用和消息中间件服务器的全功能互操作成为可能。
  2. 为什么使用?  : 目标是实现一种在全行业广泛使用的标准消息中间件技术,以便降低企业和系统集成的开销,并且向大众提供工业级的集成服务。宗旨是通过AMQP,让消息中间件的能力最终被网络本身所具有,并且通过消息中间件的广泛使用发展出一系列有用的应用程序。
  3. 深入理解
 
 
        SpringBoot 整合WebSocket基于STOMP协议实现广播消息: https://segmentfault.com/a/1190000018387211
 
 

STOMP协议

        简单(流)文本面向消息协议
        STOMP协议提供了一个可互操作的连接格式,允许STOMP客户端与任意STOMP消息代理(Broker)进行交互
        STOMP协议与HTTP协议很相似,是基于TCP协议,其客户端和服务器之间的通信是通过“帧”(Frame)实现的,每个帧由多“行”(Line)组成
 
 

MQTT协议 

        消息队列遥测传输是ISO标准虚下基于发布/订阅范式的消息协议 它工作在TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议,为此,它需要一个消息中间件。最大优点是可以以极少的代码和有限的宽带,为连接远程设备提供实时可靠的消息服务,在物联网、小型设备、移动应用等方面有较广泛的应用
        具有的特性:
    1、使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合;
    2、对负载内容屏蔽的消息传输;
    3、使用 TCP/IP 提供网络连接;
    4、有三种消息发布服务质量:
                “至多一次”,消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。
                “至少一次”,确保消息到达,但消息重复可能会发生。
                “只有一次”,确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。
5、小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量;
6、使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制
    资料:
 
 
posted @ 2019-04-19 13:39  听说这是最长的名字了  阅读(509)  评论(0编辑  收藏  举报