我正在設計一個系統,將有100,000個設備,用戶將能夠通過MQTT向他的設備發送/接收數據。 設備到應用程序通信: 將會有一個基於mac地址的每個設備的唯一主題和設備ID。每個設備都將其數據發佈到服務器主題。服務器將通過HTTP將數據發送到相應的應用程序。用於雲端物聯網設備的MQTT通信
應用程序到設備通信 應用程序將通過HTTP將數據發送到服務器,服務器將通過MQTT將數據轉發到相應的設備。
現在你可以請指導我這是一個正確的方法來做到這一點?或者更好的方法是服務器應該訂閱所有設備的獨特主題?
以下是上述程序
您應該允許用戶在不連接到公共互聯網或雲服務器的情況下使用它的物聯網設備。您將在您的系統中構建安全問題,您將泄漏用戶的隱私並冒着設備風險。您將允許100k個以上的系統成爲僵屍網絡的一部分。 – DanFromGermany
就安全而言,你是對的。現在我已經使用HTTPS來確保更安全的通信,並將考慮我可以做出的改進。 –
你將要用這樣的架構來構建一個巨大的瓶頸。一些MQTT代理可以處理高達幾十萬msg/sec的數據,後端的單個服務器將無法處理這種負載。考慮使用HTTP的共享訂閱或代理插件。如果您處於雲端,HA(高可用性)和可伸縮性集羣(前面帶有負載平衡器)可能值得關注。 –