Szenario
IoT-Gerät (derzeit IPv4-Gerät), das über TCP-Socket einmal pro Tag eine Nutzlast an einen Server sendet. Der Server hat eine öffentliche IP-Adresse, das Gerät befindet sich hinter einem Router / NAT. Ich werde ein Modul verwenden, das auf ESP8266 basiert (dh Olimex eins).
Ziel
Der Server sollte in der Lage sein, Daten an jeden Client zu senden, wann immer dies erforderlich ist. Ich bin nicht an einer direkten Client-zu-Client-Kommunikation interessiert (dh von meinem Smartphone aus mit einem Gerät verbunden), wie es das Lochern tun soll.
Sonstige Anforderungen
Die IoT-Geräte können bis zu mehreren Tausend wachsen. Ihre Internetverbindung wird von vielen 4G-fähigen Routern / Modems bereitgestellt. Jeder wird 10-20 Kunden behandeln.
Vorgeschlagene Lösung
Soweit ich weiß, ist MQTT eine übliche Lösung. Die Clients senden regelmäßig Daten an den Broker (dh Mosquitto, der auf dem Hosting-Server ausgeführt wird), der wiederum die Haupt-Web-App aktualisiert, die auf demselben Server ausgeführt wird.
Frage
Ist der MQTT-Ansatz für eine "große" Anzahl von Geräten (1000+) geeignet, von denen die meisten hinter einem 4G-Router stehen?