4

だから、私はたくさんのモバイル デバイス (数百万) を持っており、バックエンド システムを持っています。私のニーズ/ユースケースは次のとおりです。- 1.デバイスからデータを収集し、バックエンドに送信します。2. バックエンド システムから個々のデバイスまたはデバイスのグループにプッシュ メッセージを送信する。

では、このシナリオを考えると、バックエンドとデバイス間の通信に MQTT を使用することは理にかなっていますか? 私が持っている混乱の 1 つは、ユース ケース #1 では、デバイスがパブリッシャーであり、バックエンドの一部のシステムがサブスクライバーになるのに対し、ユース ケース #2 では、デバイスがプッシュ メッセージのサブスクライバーであり、バックエンド システムがパブリッシャーになることです。 . これは可能ですか?それとも、私はそれについて間違った方法で考えていますか?

4

2 に答える 2

3

この使用パターンに適合する多くの例 (プッシュ通知を備えたモバイル テレメトリ システムなど) に取り組んできたので、MQTT は完全に適合すると言えます。どの MQTT クライアントもパブリッシャーとコンシューマーの両方として機能でき、区別はありません。

いずれかの方向に送信するデータに合わせてトピック構造を設計する必要がありますが、それは難しくありません。

于 2013-08-20T08:38:57.940 に答える
1

一般に、MQTT はユース ケース #1 とユース ケース #2 に最適です。

このような大規模なスループットを処理できる MQTT ライブラリは (私の知る限り) 存在しないため、バックエンド サブスクライバーでこの規模で問題が発生する可能性があることに注意してください。

少し異なるアプローチは、ブローカーがバックエンドと直接通信することです。これは、このブログ投稿に似ています。

このトピックに関する MQTT メーリング リストの興味深い議論を次に示します。

于 2013-08-20T14:52:45.773 に答える