物联网流数据处理的最佳实践

时间:2016-12-17 00:59:58

标签: events stream time-series mqtt iot

我假设有数百个IoT设备通过MQTT协议将数据发布到(代理)MQTT集群,在代理后面我有数据处理模块,它从代理订阅数据并维护状态表对于所有这些设备。设备的数量仍在增加,因此我必须相应地扩展代理群集和数据处理模块,因为可以非常容易地扩展诸如Kafka / Rabbit MQ / Hive MQ之类的MQTT代理,但是对于数据处理模块我不太确定是否有任何最佳实践,或者任何框架/架构都可以轻松实现这一目标:

我假设我必须创建许多带有成百上千个线程的守护进程来监听MQTT代理,问题是如何动态扩展这些服务?

感谢。

1 个答案:

答案 0 :(得分:1)

这样做的一种方法是使用Node.js,因为它使用事件驱动的方法而你不必处理线程等。

我为Node.js找到了这个特定于MQTT的库: https://www.npmjs.com/package/mqtt 您可以使用它来订阅不同的主题。

您可能还会发现此项目很有趣: http://nodered.org/

另一种解决方案可以使用Apache Kafka,它具有可扩展性作为一项重要功能。但是,这里的问题是Kafka不支持开箱即用的MQTT并且有自己的约定。因此,需要某种适配器来使它们一起工作。为此,看看这个: using mqtt protocol with kafka as a message broker