TCPソケットを介してペイロードを1日1回サーバーに送信するシナリオ IoTデバイス(現在はIPv4デバイス)。サーバーにはパブリックIPアドレスがあり、デバイスはルーター/ NATの背後にあります。ESP8266に基づくモジュール(つまり、Olimexのモジュール)を使用します
目標は、サーバーは、それが必要とする時はいつでも任意のクライアントにデータを送信することができるはずです。ホールパンチングのように、クライアントからクライアントへの直接通信(つまり、スマートフォンからデバイスに接続)には興味がありません。
その他の要件
IoTデバイスは数千まで成長する可能性があります。彼らのインターネット接続は、多くの4G対応ルーター/モデムによって提供されています。それぞれが10〜20のクライアントを処理します。
提案される解決策
私が理解している限り、一般的な解決策はMQTTです。クライアントは定期的にブローカー(ホスティングサーバーで実行されているMosquitto)にデータを送信します。ブローカーは同じサーバーで実行されているメインのWebアプリを更新します。
質問
MQTTアプローチは、4Gルーターの背後にある「多数」のデバイス(1000以上)に適していますか?