为什么以及什么时候需要mqtt代理来进行IOT/M2M应用程序

bap*_*api 8 mqtt hivemq iot windows-10-iot-core

只问一个愚蠢的问题,希望有人能回答这个问题.

关于MQTT经纪人,我有点困惑.基本上,令人困惑的是,有很多东西被用于数据存储,传输和处理(如Flume,HDInsight,Spark等).那么,何时以及为什么我需要使用一个MQTT代理?

如果我想在HiveMQ中使用Windows 10 IoT应用程序,我可以从哪里获取详细信息?如何使用它?我如何从这个MQTT经纪人那里获益?我是否可以不使用Azure或HDFS直接从我的IoT应用程序发送数据?那么,MQTT经纪人如何融入其中或帮助我实现某些目标呢?

我是所有这些的新手,并试图找到一些教程,但是,我没有得到任何正确的.请详细解释一下,或者为此提供一些教程?

小智 6

MQTT是基于pub-sub的传输的客户端 - 服务器协议,具有相对较小的开销,因此适用于移动和物联网应用(与Flume等不同).MQTT代理基本上是一个服务器,用于处理与MQTT客户端之间的消息传递.即使存在各种MQTT附加组件,功能也会在传输层停止.

如果您希望实施一个可以将数据从IoT设备可靠地传输到后端系统进行处理的解决方案,我建议您先了解一下Kaa开源IoT平台.它远远超过MQTT,不仅提供适用于低功耗IoT设备的传输层,还提供应用级逻辑的坚实组块(包括应用程序级数据结构的对象绑定,临时数据持久性等) ).

这是一个网络研讨会的链接,解释了如何在不到一个小时的时间内使用Kaa和Spark构建可扩展的物联网分析系统.


Dom*_*ier 5

这是一种建筑选择.没有MQTT就可以实现物联网应用,但使用MQTT时有一些优势.如果您对MQTT完全陌生,请查看这个深入的MQTT系列:http://forkbomb-blog.de/2015/all-you-need-to-know-about-mqtt

基本上,主要的架构优势是发布/订阅设计用于低延迟,高吞吐量(移动)通信,协议开销最小(如果带宽非常宝贵,这很重要).您可以完全解耦消费者和生产者.

HDFS是(分布式)Hadoop文件系统,是Map/Reduce处理的基础.它与MQTT代理无法比较.但是,MQTT代理可以写入HDFS(如果HiveMQ使用自定义插件).

基本上MQTT是一个协议,而你提到的产品是解决完全不同问题的产品:

Flume基本上用于大规模的日志聚合.您不会使用MQTT,至少没有太多优势,因为这通常在后端应用程序中完成.

Spark和Hadoop在大数据处理时大放异彩.它们是一个框架,而不是一个随时可用的解决方案.它们与MQTT不具有可比性.像HiveMQ这样的MQTT代理通常与这些代理一起使用,Spark/Hadoop用于数据处理,HiveMQ用于通信.

我希望这可以帮助你入门.最好是阅读所有这些技术的典型用例,这对于单个SO答案来说有点过于宽泛.