作者:张裕鹏 日期: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