2

MQTT を研究していて、1 対 1 の通信システムを作成しようとすると、実装がどのように機能するのか興味があります。

私がやろうとしていること: IOTデバイスが通知をユーザーに直接プッシュできるようにするシステムをセットアップし、ユーザーがMQTTブローカーを介してIOTデバイスに通知をプッシュできるようにします。

実装に関する考え:

  1. すべてのデバイスには、各ユーザーがサブスクライブする個別のトピックがあります。
  2. 各デバイスは、メッセージを渡すユーザーを識別するタグを使用して、同じトピックに発行します。

以下は、実装がどのように機能するかを私が作成した画像です。

詳細情報: 10 万以上のデバイスを含むように拡張できるが、メッセージの量が非常に少ない (1 日 1 メッセージ) システムが必要です

レイアウト:

  • IOT デバイスは、MQTT 経由でバックエンド システムにメッセージを送信します。
  • バックエンド システムはメッセージを受信し、バックエンドに保存します。
  • バックエンドとモバイル アプリケーションの間で通信する Web サービス (Dispatcher) レイヤー。
  • モバイル アプリケーションは、Web サービスを介して IOT デバイスと直接通信します。

質問:

  • 大量のユーザーが予想される場合の 1 対 1 のコミュニケーションのトピックに関して、MQTT ブローカーはどのように実装されますか?
  • 話題に制限はありますか?
  • レイアウトに関して何が欠けていますか?
4

1 に答える 1

1

MQTT (pub/sub メッセージング) を理解するというあなたの概念は間違っていると思います。特定のトピックを購読しているすべてのクライアントがメッセージを受け取ります。あなたが言及した「タグ」( with a tag that identifies the user to pass the message to) は、メッセージを公開する必要があるトピック名です。

特別なメッセージ配信を行いたい場合は、各クライアントがメッセージを送信するトピックにサブスクライブするクライアントを作成し、「タグ」の値に基づいて特定の「クライアント」トピックにメッセージをディスパッチする必要があります。

于 2015-03-24T14:55:09.270 に答える