MQTTブローカーの理解:
建築、特徴および アプリケーション

導入事例

今日のデジタルコネクティビティの時代とモノのインターネット(IoT)では、デバイス間の通信が必要 効率的で、軽量で、信頼性があります。 メッセージキューイングテレメトリートランスポート(MQTT)が1つとして登場 そのようなユースケースのために設計された主要な通信プロトコル。 もともと後半にIBMによって開発された 1990年代、MQTTは、データ交換のためのシンプルで強力な方法を提供します。特に、環境の低い 帯域幅、高レイテンシ、または信頼性のないネットワーク。 MQTTのコミュニケーションモデルの心臓は、キー コンポーネント: MQTT ブローカー。 この文書は、MQTTブローカーの機能、アーキテクチャ、機能、セキュリティ、パフォーマンスなどを探ります。 現代のメッセージングシステムにおける役割を徹底的に理解できるようにします。

MQTTプロトコルの理解

MQTTの特長軽量で、 クライアント間のメッセージ交換を容易にする公開サブスクリプションネットワークプロトコル。 伝統とは違って クライアント サーバー モデル,MQTT クライアント互いに直接やり取りしないでください。 代わりに、彼らはとして知られている仲介を通して相互作用します MQTTブローカー。


MQTT プロトコルのコアコンポーネントは次のとおりです。


  • 出版者:メッセージを送信するデバイスまたはアプリケーション。
  • 招聘人数:メッセージを受信するデバイスやアプリケーション。
  • トピック:どのメッセージがルーティングされたかを通したチャンネルの名前をつけました。
  • サービス内容(QoS):メッセージ配信保証(QoS 0, 1, 2)を定義します。
  • メッセージの保存:ブローカーが新しい加入者のために保存したメッセージ。
  • 最後の Will と Testament (LWT):クライアントがブローカーから送信したメッセージ 予期しない接続を解除します。

このアーキテクチャは非同期通信、スケーラビリティ、および最小限をサポートしています オーバーヘッド、IoT、モバイルアプリケーション、制約のある環境に理想的なMQTTを作る。


MQTT architecture
MQTTブローカーとは何ですか?

ログインMQTTについてです。 中央ハブとして機能するサーバー すべてのMQTTベースの通信。 パブリッシャー、フィルタからメッセージを受け取る これらは、各メッセージに関心のある加入者を特定し、 これらのメッセージはそれに応じて。 本質的に、ブローカーは管理を担当しています 接続、サブスクリプション、メッセージルーティング、セキュリティ、および永続性。


MQ のテレメトリー トランスポートのブローカーは受信機からのメッセージの送信機をdecouple、許可します よりスケーラブルで柔軟なシステム設計。 ブローカーはセッションを維持します QoSに基づく情報、ハンドルのメッセージ配達は信頼性を保障します プロトコルの要件に従ってセキュリティ。

ブローカーはどのように機能しますか?

ブローカーの運用ライフサイクルには、いくつかのステージが含まれます。


  • 顧客関係:クライアントは、ブローカーとTCP接続を開始し、 続いて MQTT CONNECT パケット。 認証時(必要な場合)、ブローカーは、 パケットを消費します。
  • 開催概要クリーンなセッションフラグに応じて、ブローカーは 新しいセッションを作成したり、既存のセッションを再開したりします。 トピックサブスクリプション、未配信メッセージ、および QoSの状態。
  • の処理:クライアントは、1つ以上のトピックを購読します SUBSCRIBE パケット。 ブローカーはこれらのサブスクリプションを登録し、SUBACKパケットでそれらを認識します。
  • メッセージの出版:出版社は、PUBLISHパケットを使用してメッセージを送信します。 ザ・オブ・ザ・ ブローカーは、トピックのマッチングに基づいて、適切な加入者にこれらを受信、プロセス、転送します。
  • QoS管理:QoS レベルに基づいて、ブローカーは適切な メッセージ重複チェック、認識チェーン、および永続的なストレージを含む配送メカニズム。
  • 切断の処理:接続解除では、ブローカーはリソースを解放し、送信しますお問い合わせお問い合わせ 定義され、セッションタイプに基づいてセッション状態を保存します。
ブローカーの建築

よく設計されたブローカーは、ネットワークトラフィックを管理するために複数のレイヤーを組み込んでいます。 クライアントの状態を維持し、信頼できるメッセージのルーティングを保証します。


  • 関係の層:TCP/IP の接続を扱い、SSL/TLSの特長暗号化。
  • ハードウェア:デコードMQTT制御 パケット パケットプロトコルの遵守を検証します。
  • セッションマネージャー:サブスクリプションを含むクライアントの状態を維持します。, QoS 配信保証、および保持されたメッセージ。
  • トピック公開されたメッセージを購読トピックにマッチする 階層的なトピック構造。
  • メールアドレス:保存されたメッセージ、持続的なセッション、QoSレベル 1/2 メッセージ。
  • 認証と認証クライアントのアイデンティティを検証し、 トピックレベルのアクセス管理ポリシーを強化します。
  • ロードバランス:水平スケーラビリティと高機能を確保 分散環境の可用性。

このモジュラー設計により、ブローカーは1秒あたりの数百万のメッセージを処理することができます レイテンシと高い信頼性。

ブローカーの特徴

ブローカーは、シンプルさを超えて能力を拡張する豊富な機能を提供します メッセージルーティング:


  • カスタマーサポート:その他MQTTの特長、多くのブローカーはHTTP、WebSocket、MQTT-SNをサポートしています。
  • TLS/暗号化:クライアントとブローカー間の安全な通信を確保します。
  • 認証:ユーザー名/パスワード、X.509証明書、 と OAuth2.
  • ライセンス:トピックに基づくファイングラインドアクセス制御 階層。
  • 業務内容読み込み共有とフェイルオーバーを有効にします。 分散展開。
  • お問い合わせブローカーがセッションやメッセージデータを保存できるように 再起動します。
  • 監視の記録:メッセージフロー、クライアント行動、ブローカーを追跡 健康メトリック。
  • プラグインアーキテクチャ:カスタムエクステンション、プロトコル、統合をサポートしています。

Features of MQTT Broker
ブローカーの種類

MQTTについてワンサイズのフィットオールソリューションではありません。 彼らはいくつかの異なる さまざまな運用ニーズと技術的要件に合わせて調整されたカテゴリ。 分類は分類できます 次の次元を渡って理解して下さい:


  • モデル:
    • 招聘人数:お問い合わせ コミュニティ。
    • お問い合わせSLA はサポート、機能、SLA で。
  • 導入事例
    • スタンドアローン:問合せ先: Rémi Coulom.
    • クラスター:ss s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s
  • 環境指定:
    • クラウド ネイティブ:オートスケーリングやマネージドで機能する お問い合わせ
    • エッジベース:宇宙人、宇宙人
  • ハードウェアサポート:
    • MQTTOnlyの特長お問い合わせ
    • ハードウェアAMQP、CoAP、WebSocket、CoAP、WebSocketなど

このダイバーシティは、ブローカーがDIYスマートホームセットアップからすべてのものに対応できるようにします。 大規模な企業向けIoTインフラ

ブローカーの展開オプション

ブローカーは、アプリケーションに応じて様々な環境で展開できます 必要性:


  • プレオンプレス:構成およびデータの完全な制御、のために適した 産業および私用ネットワーク。
  • ベースクラウド:拡張性、管理されたインフラストラクチャ、および統合を提供します 他のクラウドサービス。
  • ドッカー:急速なテストを容易にする携帯用配置の単位 そしてスケーリング。
  • クネベル:高可用性、自動スケーリング、および高可用性のオーケストレーション 自己治癒システム。
  • 首页:レイテンシを削減し、改善するために、データソースに近い展開 信頼性。

適切なデプロイメントモデルを選択すると、レイテンシビリティの許容度、セキュリティの評価が含まれます 要件、スケーラビリティ、メンテナンスのオーバーヘッド。

セキュリティの考慮事項

コミュニケーションの集中的な役割を担ったブローカーは、サイバーのプライムターゲットです 脅威。 セキュリティは、複数のレイヤーで強化する必要があります。


  • 交通アクセス暗号化された通信のために TLS/SSL を有効にする。
  • クライアント認証::証明書、トークン、または資格情報を使用して検証 クライアント。MQTT 5.0の特長これを強化する より洗練された認証フローのための専用のAUTHパケット付き。
  • アクセス制御:Topic ベースの ACL は、クライアントが公開または公開できるものを制限します。 購読する
  • 条件:1秒あたりのメッセージを制限することにより、不正を防止します。
  • の検出:ログと異常検知システムを特定 悪意のある行動。
  • 構成:開口部の最小化、未使用の機能の無効化、 定期的に資格情報を回転させます。

積極的なセキュリティ戦略は、完全性を維持し、 MQTT ベースのシステムの機密性。


MQTT Broker Security Considerations
ブローカーのパフォーマンスメトリック

最適な動作を確保するために、ブローカーは重要なパフォーマンスを使用して監視する必要があります インジケータ:


  • スループット:1秒あたりの処理件数。
  • 潜水艦:出版社から購読者に旅行するためのメッセージのために取られた時間。
  • 関係の計算:同時アクティブクライアントセッション数
  • 記憶の使用法:セッション、メッセージ、バッファに関連するRAM消費 ストレージ。
  • ログインピークの交通の間に負荷を処理する。
  • イベント情報ブローカーの安定性は時間とともに。
  • 投稿されたメッセージ:失敗したメッセージの送達のカウントと原因。

Prometheus、Grafana、およびブローカーネイティブダッシュボードなどのパフォーマンス監視ツールは、 一般的に使用される。

ケースとアプリケーションの使用

ブローカーは、軽量な性質と、さまざまな産業で使用されています 信頼性:


  • 招聘人数:リアルタイムでライト、サーモスタット、アプライアンスを制御する フィードバック
  • 産業IoT:機械・センサー・PLCの監視・制御
  • 接続された車:テレマティクス、診断、および内部空気の管理 更新情報
  • 農業:環境条件を追跡し、潅漑を自動化します。
  • ヘルスケア:患者の生命および医療機器の実時間監視。
  • ソリューション在庫追跡および兵站学の調整。
  • スマートシティ:交通管理・公共安全・環境 監視。
他の技術を持つブローカー

現代のブローカーは、ほとんどスタンドアローンシステムではありません。 様々な組み合わせで より広い機能性のための技術:


  • データベース:SQL または NoSQL データベースでテレメトリーをストーリングします。
  • メール:複雑なデータのカフカ、ラビットMQ、NATSのブリッジング パイプライン。
  • ツール:Grafana、Kibana、カスタムダッシュボードとの統合。
  • エッジ ウォレット:Node-RED、KubeEdge、AWS Greengras はローカル処理に使用されます。
  • REST API と WebSocket:MQTTデータをWebアプリケーションや外部に配信 システム。
  • クラウドプラットフォーム:AWS、Azure、Google Cloudなどと連携

これらの統合は、ブローカーをIoT、分析、および オートメーション。

ブローカーの未来

MQテレメトリー輸送ブローカーの未来は、成長する要求のために形作られています 拡張性、セキュリティ、インテリジェンス:


  • MQTT 5.0 の採用:より多くのブローカーは、ユーザーのような高度な機能を採用しています プロパティ, 強化されたエラー報告, トピックエイリアシング.
  • とフェデレーションローカルのための分散アーキテクチャ 意思決定とデータ社会。
  • AI とアプリケーションの統合:リアルタイムのデータ処理と異常 検出。
  • ソリューション:ハードウェア・バック・暗号化、ゼロ・トラスト・ネットワーク、および AI主導の脅威検出
  • 相互運用性の標準:マルチプロトコル通信のためのより良いサポート データモデルを開く

IoT のエコシステムが拡大するにつれて、ブローカーはよりインテリジェントで適応性をサポートするように進化し、 および自動システム。

コンテンツ

ブローカーは、MQTTベースのメッセージングシステムのバックボーンであり、効率的で、 数えきれないデバイスやアプリケーション間でのスケーラブルで安全な通信。 管理する能力 接続、ルーティングメッセージをインテリジェントに、現代のクラウドとエッジテクノロジーと統合することで、 今日のデジタルインフラに不可欠です。

キーテイクアウト

  • ブローカーは、多様なシステム間で軽量でリアルタイムな通信を可能にします。
  • クラウドとエッジの両方でスケーラブルで安全な展開をサポートします。
  • セキュリティ、QoS、セッション管理は、信頼できる運用に集中しています。
  • 他のテクノロジーとの統合により、ブローカーはより大きなデータパイプラインの一部になることができます。
  • 今後も、IoTやデジタルシステムの関連性を確保し、進化し続ける。

IoT のエコシステムが拡大するにつれて、ブローカーはよりインテリジェントで適応性をサポートするように進化し、 および自動システム。

よくある質問

MQTT 通信モデルの中央コンポーネントで、メッセージ配信を処理する クライアント。 ハブとして機能し、接続、フィルタメッセージを管理し、適切な範囲に到達することを確認します。 トピックサブスクリプションに基づく受信者。

ご利用にあたってMQTTの特長 ハードウェア軽量公開サブスクリプションモデルを追従するシステムにより、データを最小限に抑える 伝達オーバーヘッド。 この設計は帯域幅の消費を減らし、有効なコミュニケーションを保障します 限られたリソースを持つネットワークでも。

はい。 セッションの永続性のような特徴保存メッセージ今後も確実に機能し続けることを可能にし、 接続が断続的であるとき。

絶対に。 クラスタリング、バランシング、分散アーキテクチャにより、何百万ものサポートが可能です。 同時接続とメッセージの流れ

通常、TLS/SSL暗号化、クライアント認証、アクセス制御リスト(ACLs)、および 安全なメッセージング環境を維持するための侵入検知。

デバイス間の直接接続の代わりに、送信者をデカップリングする仲介者として機能します 受信機は非同期、効率的、スケーラブルな通信を可能にします。

はい。 他の人が軽量である間、自動スケーリングとクラウドネイティブ展開のために最適化されているもの 限られたリソースでエッジデバイス上で実行するのに十分です。

間違いなく。 REST API や SQL/NoSQL などのシステムを持つネイティブプラグインによる多くのサポート統合 Grafanaなどのデータベース、カフカ、リアルタイムの可視化ツール。

実装する(QoS) おすすめ—0, 1, 2 — アプリケーションのニーズに基づいてメッセージ配信を保証するため 正確にオンスデリバリーセマティクスへの最善の努力。

次世代のメッセージングでインフラを強化

より大きいスループット、信頼性、
スケール?

リアルタイムのデータフロー、堅牢な統合、およびインテリジェントなメッセージングをスケールで設計したブローカーをご覧ください。