Scenariusz
Urządzenie IoT (obecnie urządzenie IPv4), które wysyła przez gniazdo TCP ładunek do serwera raz dziennie. Serwer ma publiczny adres IP, urządzenie znajduje się za routerem / NAT. Użyję modułu opartego na ESP8266 (tj. Olimex)
Celem serwer powinien być w stanie wysyłać dane do każdego klienta, gdy zajdzie potrzeba. Nie interesuje mnie bezpośrednia komunikacja klient-klient (tj. Połączenie urządzenia z moim smartfonem), tak jak powinno to robić dziurkowanie.
Inne wymagania
Urządzenia IoT mogą wzrosnąć nawet do kilku tysięcy. Ich połączenie internetowe zapewnia wiele routerów / modemów z obsługą 4G. Każdy będzie obsługiwał 10-20 klientów.
Proponowane rozwiązanie
O ile rozumiem, powszechnym rozwiązaniem jest MQTT. Klienci okresowo wysyłają dane do brokera (tj. Mosquitto działającego na serwerze hostingowym), który z kolei aktualizuje główną aplikację internetową działającą na tym samym serwerze.
Pytanie
Czy podejście MQTT jest odpowiednie dla „dużej” liczby urządzeń (1000+), większość z nich za routerem 4G?