作者:张裕鹏 日期:2021-6-19

协议对比

MQTT(消息队列遥测传输) DDS(数据分发服务) CoAP(受限应用协议) AMQP(先进消息队列协议) HTTP/ REST XMPP(可扩展通信和表示协议) JMS(JAVA 消息服务)
架构 Sub/Pub Sub/Pub Request/Reply Sub/Pub Request/Reply Sub/Pub
组织 IBM-OASIS 组织 OMG 组织 OASIS 组织 IETF
历史/兼容性 兼容性好 兼容性好 专门为资源受限设备开发的协议 以太网协议 以太网协议 以太网协议
QoS 3 种 21 种 确认和非确认消息 通过 TCP 保证
性能 1000 msg/sub 1000000 msg/sub 100 req/s 100 req/s
硬实时
传输层 TCP UDP TCP
订阅控制 层级匹配的主题订阅 支持多播 N/A
编码 二进制 二进制 二进制 二进制 普通文本 xml 文本 二进制
动态发现
安全性 SSL/TLS SSL/TLS SSL/TLS
优/缺点 优点:
1. 小型传输,开销很小
1. 支持QoS


缺点:
1. 不适合设备与设备之间通信
1. 设备控制能力弱,实时性较差,响应时间在秒级
优点:
1. 实时性好,性能强
1. 支持多种 QoS
1. 支持点对点,点对多,多对多


缺点:
1. 目前的实施案例都是在有线网络下,无线网络和资源受限的情况下,还未见到实施案例
优点:
1. 报文头简单(最小的数据包只有4个字节),支持常见的HTTP 方法:GET、POST、PUT、DELETE
1. CoAP 提供一种观察模式,观察者可以通过 OBSERVE 指令向 CoAP 服务器指明观察的实体对象。当实体对象的状态发生变化时,观察者就可以收到实体对象的最新状态,类似于 MQTT 协议中的订阅功能


缺点:
1. 实时性较差
1. 沟通单向
特点:
1. Wire级的协议,它描述了在网络上传输的数据格式,以字节为流;
1. 面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。


最早应用于金融系统之间的交易消息传递,在物联网应用中,主要适用于移动手持设备与后台数据中心的通信和分析
优点:
1. 接入简单,开发成本低


缺点:
1. 只能由客户端发起通信
1. 需要实现HTTP协议、 XML/JSON数据格式的解析太耗性能
优点:
1. 相较于HTTP,XMPP在通信的业务流程上更适合物联网系统,开发者不用花太多心思去解决设备通信时的业务通信流程,相对开发成本会更低


缺点:
1. HTTP协议中的安全性以及计算资源消耗的硬伤并没有得到本质的解决

DDS 协议下载链接:http://download.ociweb.com/OpenDDS