用于实时数据流的 MQTT

Posted

技术标签:

【中文标题】用于实时数据流的 MQTT【英文标题】:MQTT for realtime data streaming 【发布时间】:2016-08-21 17:03:13 【问题描述】:

我想知道 MQTT 协议是否适合某些高刷新率数据流。 由于它是为低带宽高延迟应用程序设计的,我想知道它在高带宽低延迟应用程序中的表现如何。

我想要的是以每秒 60-120 次的速度发送传感器数据。 这是可行的,还是 MQTT 中的某些设计决策会阻止它以可用的方式工作?在这种情况下,我可以完全控制代理,并且会在 QoS 级别 0 发生。

有效负载将是单个 32 位浮点数或 32 位整数。所有设备都将通过 wifi 或以太网连接。 虽然我的问题主要是协议的设计是否正在积极反对这种应用程序。

【问题讨论】:

一些 MQTT 代理每秒可以处理数十万条消息,因此这将完全受客户端限制。根据我的经验,对于大多数 MQTT 客户端来说,几千 msg/sec 的效果非常好。 【参考方案1】:

与所有此类性能类型的问题一样,没有明确的答案,这完全取决于很多因素。

有效载荷大小 代理和客户端之间的网络状态 订阅人数 如果您错过了一条消息或一条消息被送达两次,会发生什么情况

唯一确定的方法是测试并找出答案。

说了我所知道的过去人们通过 MQTT 使用 VoIP

【讨论】:

我稍微澄清了我的问题,但有人通过 MQTT 进行 VoIP 的事实对我的用例来说意义重大。

以上是关于用于实时数据流的 MQTT的主要内容,如果未能解决你的问题,请参考以下文章

基于阿里云物联网平台设计的实时图传系统_采用MQTT协议传输图像

我可以使用 Django Channels 实时显示 MQTT 消息吗?

使用 nodejs 和 mqtt 在网站上的实时内容

NLog自定义Target之MQTT

InfluxDB数据接入MQTT

用于 Web 访问日志的实时数据仓库