2016-11-17 71 views
0

我正在設計一個系統,將有100,000個設備,用戶將能夠通過MQTT向他的設備發送/接收數據。 設備到應用程序通信: 將會有一個基於mac地址的每個設備的唯一主題和設備ID。每個設備都將其數據發佈到服務器主題。服務器將通過HTTP將數據發送到相應的應用程序。用於雲端物聯網設備的MQTT通信

應用程序到設備通信 應用程序將通過HTTP將數據發送到服務器,服務器將通過MQTT將數據轉發到相應的設備。

現在你可以請指導我這是一個正確的方法來做到這一點?或者更好的方法是服務器應該訂閱所有設備的獨特主題?

以下是上述程序

enter image description here

+0

您應該允許用戶在不連接到公共互聯網或雲服務器的情況下使用它的物聯網設備。您將在您的系統中構建安全問題,您將泄漏用戶的隱私並冒着設備風險。您將允許100k個以上的系統成爲僵屍網絡的一部分。 – DanFromGermany

+0

就安全而言,你是對的。現在我已經使用HTTPS來確保更安全的通信,並將考慮我可以做出的改進。 –

+0

你將要用這樣的架構來構建一個巨大的瓶頸。一些MQTT代理可以處理高達幾十萬msg/sec的數據,後端的單個服務器將無法處理這種負載。考慮使用HTTP的共享訂閱或代理插件。如果您處於雲端,HA(高可用性)和可伸縮性集羣(前面帶有負載平衡器)可能值得關注。 –

回答

1

IBM Bluemix提供IoT for electronics服務,這可能是您感興趣的流程圖。它使用Watson物聯網平臺將您的智能電子設備與您開發的應用程序連接起來。它還可以幫助您分析和了解設備中的數據。

+0

謝謝你的建議。我正在研究這個。但是,我的關注也是爲了更好地理解MQTT標準。我曾與一個架構合作,在該架構中,雲服務器擁有每個設備可發佈到的一個主題。另一種方式是服務器應訂閱所有獨特的設備主題。並聽取與設備進行通信的信息。 您能否建議哪個系統性能更好 –

+0

藉助IBM的Watson IoT平臺,每臺設備都有其獨特的主題空間。閱讀信息的用戶可以使用通配符來檢查多個主題。 – ValerieLampkin