0

考えられる唯一の理由は、オーバーヘッドが低いことです。つまり、ヘッダー サイズが最小 2 バイトに固定されているため、パケット サイズが小さくなっています。プロトコルの設計に他の要素はありますか?

編集:-申し訳ありませんが、@Shashi が指摘したように、私は精神的なタイプミス (?) を作成しました。実際には、高レイテンシ、低帯域幅を意味していました。

4

3 に答える 3

1

MQTT は、メモリ フットプリントが少なく、ネットワーク帯域幅が狭いデバイス向けに設計されています。たとえば、センサー、エネルギー メーター、ペース メーカーなどのデバイスは、MQTT の理想的なユース ケースです。低遅延は高速を意味します。低レイテンシーを実現するには、Gigabit Ethernet または InfiniBand ネットワーク上で実行される Reliable Multicast など、別のプロトコルが必要です。

于 2013-08-23T04:19:08.237 に答える
1

主な要因の 1 つは、MQTT クライアントが確立する TCP 接続が常に再利用されることです。つまり、従来の HTTP の場合のように、常に新しい接続を確立する必要はありません。また、ご想像のとおり、ここではパケット サイズが非常に小さいことが重要です。通常の MQTT メッセージには生の TCP パケットに比べて大きなオーバーヘッドはありません。

信頼性の低いネットワークでより多くの帯域幅を節約するために、MQTT の持続セッション機能により、クライアントは 1 回だけサブスクライブでき、再接続時にクライアントのサブスクリプションが保持されます。サブスクライブしているクライアントの場合、サブスクリプション メッセージは 1 回しか送信されないため、これによりオーバーヘッドが大幅に削減されます。

于 2013-08-23T08:33:08.307 に答える