- MQTT VS DDS

- MQTT协议

三种服务质量 (QoS):
- 最多一次 Sender 发送的一条消息,Receiver 最多能收到一次,也就是说 Sender 尽力向 Receiver 发送消息,如果发送失败,也就算了;
- 只有一次 Sender 发送的一条消息,Receiver 确保能收到而且只收到一次,也就是说 Sender 尽力向 Receiver 发送消息,如果发送失败,会继续重试,直到 Receiver 收到消息为止,同时保证 Receiver 不会因为消息重传而收到重复的消息。
- 最少一次 Sender 发送的一条消息,Receiver 至少能收到一次,也就是说 Sender 向 Receiver 发送消息,如果发送失败,会继续重试,直到 Receiver 收到消息为止,但是因为重传的原因,Receiver 有可能会收到重复的消息;
MQTT协议中有三种身份:发布者 (Publish)、代理 (Broker)(服务器)、订阅者 (Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。
MQTT 传输的消息分为:主题 (Topic) 和负载 (payload) 两部分
Topic:可以理解为消息的类型,订阅者订阅 (Subscribe) 后,就会收到该主题的消息内容(payload)
payload:可以理解为消息的内容,是指订阅者具体要使用的内容
MQTT协议一般适用于设备数据采集到端 (Device-》Server,Device-》Gateway),集中星型网络架构 (hub-and-spoke),不适用设备与设备之间通信,设备控制能力弱,另外实时性较差,一般都在秒级。
- DDS协议
以下是 DDS 协议的特点。
• 它是一种无代理协议,主要用于 M2M 和 IoT 应用程序。
• 它是会话层协议。
• 它不使用代理,而是使用数据写入器和数据读取器。
• 与MQTT 一样,它也是没有代理的发布/订阅协议。
• 它有 23 个 QoS 级别,包括安全性、优先级、可靠性、紧急性、持久性等。
• 让我们看看 DDS 协议的工作情况。发布者分发要传递的感官数据。数据写入器部分与发布者交互,并将任何更改发送给订阅者。数据阅读器读取发布的数据并传送给订阅者。订阅者需要订阅的主题只是感官数据。
本文对比了MQTT和DDS两种协议在物联网通信中的应用。MQTT提供三种服务质量,适用于设备到服务器的数据采集,具有简单的发布/订阅模式。而DDS则是一种无代理协议,具备23个服务质量级别,更适合需要高级QoS需求的M2M和IoT应用。
953

被折叠的 条评论
为什么被折叠?



