Ich entwerfe ein System mit 100.000 Geräten, und der Benutzer kann über MQTT Daten an seine Appliance senden/empfangen. Device-to-App-Kommunikation: Es wird ein Mac-Adress-basiertes eindeutiges Thema und eine Geräte-ID für jede Appliance geben. Jede Appliance veröffentlicht ihre Daten zum Thema des Servers. Der Server sendet die Daten an die entsprechende App über HTTP.MQTT-Kommunikation für IOT-Geräte mit Cloud-Server
Kommunikation zwischen App und Gerät Die App sendet Daten über HTTP an den Server und der Server leitet die Daten über MQTT an die entsprechende Appliance weiter.
Jetzt können Sie mich bitte führen ist dies ein richtiger Weg, das zu tun? Oder besser, wenn der Server eindeutige Themen aller Appliances abonnieren soll?
Im Folgenden ist der Ablaufplan für das oben erwähnte Verfahren
Sie sollten dem Benutzer erlauben, sein IoT-Gerät zu verwenden, ohne eine Verbindung zu öffentlichen Internet- oder Cloud-Servern herzustellen. Sie werden Sicherheitsprobleme in Ihr System einbauen, Sie werden die Privatsphäre der Benutzer verlieren und ihre Geräte riskieren. Sie werden erlauben, dass 100.000 weitere Systeme Teil eines Botnetzes sind. – DanFromGermany
Sie haben recht, was die Sicherheit betrifft. Für den Moment habe ich HTTPS verwendet, um eine sicherere Kommunikation zu gewährleisten und werde die Verbesserungen untersuchen, die ich machen kann. –
Sie werden einen massiven Engpass mit einer solchen Architektur bauen. Einige MQTT-Broker können bis zu Hunderttausende von Nachrichten pro Sekunde verarbeiten. Ihr einzelner Server im Back-End kann diese Last nicht verarbeiten. Erwägen Sie die Verwendung von freigegebenen Abonnements oder eines Broker-Plugins für HTTP. Wenn Sie sich in der Cloud befinden, kann es sich lohnen, Clustering (mit Load Balancern im Vordergrund) für HA und Skalierbarkeit in Betracht zu ziehen. –