我正在设计一个系统,将有100,000个设备,用户将能够通过MQTT向他的设备发送/接收数据。 设备到应用程序通信: 将会有一个基于mac地址的每个设备的唯一主题和设备ID。每个设备都将其数据发布到服务器主题。服务器将通过HTTP将数据发送到相应的应用程序。用于云端物联网设备的MQTT通信
应用程序到设备通信 应用程序将通过HTTP将数据发送到服务器,服务器将通过MQTT将数据转发到相应的设备。
现在你可以请指导我这是一个正确的方法来做到这一点?或者更好的方法是服务器应该订阅所有设备的独特主题?
以下是上述程序
您应该允许用户在不连接到公共互联网或云服务器的情况下使用它的物联网设备。您将在您的系统中构建安全问题,您将泄漏用户的隐私并冒着设备风险。您将允许100k个以上的系统成为僵尸网络的一部分。 – DanFromGermany
就安全而言,你是对的。现在我已经使用HTTPS来确保更安全的通信,并将考虑我可以做出的改进。 –
你将要用这样的架构来构建一个巨大的瓶颈。一些MQTT代理可以处理高达几十万msg/sec的数据,后端的单个服务器将无法处理这种负载。考虑使用HTTP的共享订阅或代理插件。如果您处于云端,HA(高可用性)和可伸缩性集群(前面带有负载平衡器)可能值得关注。 –