簡體   English   中英

為什么以及什么時候需要mqtt代理來進行IOT / M2M應用程序

[英]why and when i need mqtt broker for IOT/M2M application

只問一個愚蠢的問題,希望有人能回答這個問題。

關於MQTT經紀人,我有點困惑。 基本上,令人困惑的是,有很多東西被用於數據存儲,傳輸和處理(如Flume,HDInsight,Spark等)。 那么,何時以及為什么我需要使用一個MQTT代理?

如果我想在HiveMQ中使用Windows 10 IoT應用程序,我可以從哪里獲取詳細信息? 如何使用它? 我如何從這個MQTT經紀人那里獲益? 我是否可以不使用Azure或HDFS直接從我的IoT應用程序發送數據? 那么,MQTT經紀人如何融入其中或幫助我實現某些目標呢?

我是所有這些的新手,並試圖找到一些教程,但是,我沒有得到任何正確的。 請詳細解釋一下,或者為此提供一些教程?

MQTT是基於pub-sub的傳輸的客戶端 - 服務器協議,具有相對較小的開銷,因此適用於移動和物聯網應用(與Flume等不同)。 MQTT代理基本上是一個服務器,用於處理與MQTT客戶端之間的消息傳遞。 即使存在各種MQTT附加組件,功能也幾乎停在傳輸層。

如果您希望實施一個可以將數據從IoT設備可靠地傳輸到后端系統進行處理的解決方案,我建議您先了解一下Kaa開源IoT平台 它遠遠超過MQTT,不僅提供適用於低功耗IoT設備的傳輸層,還提供應用級邏輯的堅實組塊(包括應用程序級數據結構的對象綁定,臨時數據持久性等) )。

這是一個網絡研討會的鏈接,解釋了如何在不到一個小時的時間內使用Kaa和Spark構建可擴展的物聯網分析系統

這是一種建築選擇。 沒有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答案來說有點過於寬泛。

MQTT是一種數據傳輸,因此我必須將它與HTTP進行比較。 HTTP有兩個重要特征,a)它從一個點到另一個點,b)它是請求/響應,因此只有一端可以開始數據傳輸。 MQTT將許多端點連接到許多端點,任何一端都可以開始數據傳輸。 因此,如果您只有一個設備,只有一個服務或人員可以訪問它,並且只通過輪詢,那么HTTP就很棒。 MQTT意味着許多設備可以將數據發布到許多服務或人員,反之亦然。 您的問題假設您的數據總是會出現在某種數據存儲中,但許多交互都是關於事件並立即響應它們,例如敲響門鈴或降低起落架。 在這些情況下,您經常需要記錄數據,並立即采取行動,例如手機發出門鈴噪音。

最后,您將數據以語義方式發送到MQTT,而不是通過IP地址發送。 這意味着您的服務訂閱/ mikeshouse / doorbell而不是輪詢192.168.22.4,一旦您擁有多個設備,這將獲得巨大收益。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM