MQTT サービスの新しいトレンド: MQTT マルチテナント アーキテクチャを理解する

導入

過去 10 年間にわたり、MQTT プロトコルはモノのインターネットの分野で広く使用されてきました。多くの IoT サービス プロバイダーは柔軟でスケーラブルな MQTT サービスを必要とし、マルチテナント アーキテクチャを備えた MQTT は新しい選択肢を提供します。

この記事では、MQTT マルチテナント アーキテクチャと、それがユーザーにもたらす利点と課題について説明します。

マルチテナントアーキテクチャとは何ですか?

マルチテナンシー(マルチテナンシー) は、アプリケーションの単一インスタンスが複数のテナント (ユーザーまたは顧客) に同時にサービスを提供できるようにするソフトウェア アーキテクチャ パターンであり、各テナントは独自の独立したデータと構成を持ちます。

このアーキテクチャでは、複数のテナントが同じインフラストラクチャ、データベース、クラスターを共有しますが、各テナントがアクセスできるのは独自のデータと構成のみです。これは、テナントが他のテナントのデータや構成に影響を与えることなく、ニーズに応じてサービスをカスタマイズできることを意味します。同時に、プロバイダーは同じインフラストラクチャ上で複数のテナントにサービスを提供することでコストを削減することもできます。

MQTT ブローカーにとって、マルチテナント アーキテクチャは、複数のクライアントまたはチームに同時に MQTT サービスを提供できる効率的かつ経済的なソリューションです。

MQTT のマルチテナント アーキテクチャ: 各テナントのデータ分離の実装

MQTT ブローカー マルチテナント アーキテクチャの中核はデータ分離です。これにより、各テナントは自分自身をクラスター全体の唯一のユーザーとして認識し、他のテナントのクライアントにアクセスしたり対話したりすることができなくなります。これには、次の 5 つの主要領域が含まれます。

  • クライアントの制限は必要ありませんクライアントは、他のテナントから独立して、任意のクライアント ID、ユーザー名、およびパスワードを使用できます。異なるテナントでも、同じクライアントIDを使用して同時にアクセスできます。
  • 認証/認可データの分離各テナントには独自の独立した認証および認可データがあり、クライアントのログインとトピックのパブリッシュ/サブスクライブ権限を制御するために使用されます。テナントは自身のデータのみを操作でき、これらのデータはテナントのクライアントに対してのみ有効です。
  • メッセージ隔離異なるテナントのクライアントは相互に通信できません。テナントは、他のテナントが使用するトピックを含む任意のトピックを使用できますが、メッセージは依然として完全に分離されています。
  • 独立したユーザーレベルのインターフェース管理サイトとHTTP APIが含まれます。テナントは自分のデータのみを管理および表示でき、他のテナントのデータを変更することはできません。
  • 差別化された構成各テナントには、特定のリソースと機能のニーズを満たす独立した構成が提供される必要があります。

MQTT マルチテナント アーキテクチャの利点と課題

MQTT マルチテナント アーキテクチャは、IoT ソリューション プロバイダーに 2 つの利点をもたらします。

  • 柔軟性: MQTT マルチテナント アーキテクチャは、独自のアーキテクチャよりも柔軟です。これは主に 2 つの側面に反映されます。1 つは、テナントごとに個別のインフラストラクチャを構築する必要がなく、MQTT サービスを迅速に提供できることです。2 つ目は、サービスを中断したり、基盤となるインフラストラクチャを再割り当てしたりすることなく、個々のテナントに合わせて課金パッケージをカスタマイズできることです。
  • コスト削減: MQTT マルチテナント アーキテクチャは、専用アーキテクチャの低コストの代替手段であり、複数のテナントが同じインフラストラクチャを共有できるようにします。対照的に、専用アーキテクチャでは各テナントが独自のインフラストラクチャを持つ必要があるため、構築と維持にコストがかかる可能性があります。

しかし同時に、MQTT マルチテナント アーキテクチャの採用にはいくつかの課題があります。

  • テナント データが適切に分離されていることを確認しますいかなる状況においても、テナントは他のテナントのデバイスやデータにアクセスしたり管理したりしてはなりません。したがって、厳格なアクセス制御ポリシー、合理的な認証および認可メカニズム、ロールベースのアクセス制御など、厳密なセキュリティ対策を講じる必要があります。送信中のデータのセキュリティを確保するために、必要に応じてデータ暗号化が使用されます。
  • リソースをめぐる競争を効果的に管理します複数のテナントがネットワーク帯域幅、CPU、メモリなどの同じインフラストラクチャ セットを共有するため、テナント間でリソースの競合が発生する必要があります。重要なのは、テナントによってリソースが完全に使い果たされて他のテナントの通常の使用に影響を与えることを避けるために、システムがテナントによるリソースの使用を制限できなければならないということです。通常、各テナントのクォータとレート制限ポリシーを設定することで、リソース消費を制御できます。たとえば、テナントの接続とサブスクリプションの最大数、およびメッセージ レートに制限を設定できます。制限に達すると、サービスはテナントによるリソースの過度の消費を防ぐためにリクエストを拒否できます。

EMQX クラウド サーバーレス: マルチテナント アーキテクチャに基づく MQTT サービス

EMQ は、革新的なマルチテナント テクノロジに基づくサーバーレス MQTT サービス、EMQX クラウド サーバーレスを開始しました。EMQX Cloud Serverless を使用すると、ユーザーはサービス拡張中のサーバー インフラストラクチャの管理やリソース割り当てを気にすることなく、数秒以内に MQTT サービスを迅速に展開できますまた、月あたり 100 万分の永続的な無料割り当ても提供され、従量課金制の課金モデルを採用しているため、IoT のコストが大幅に削減されます。

エピローグ

IoT デバイスの継続的な成長と新しいアプリケーション シナリオの出現により、MQTT マルチテナント アーキテクチャは将来の IoT 市場において幅広い展望を持っています。このアーキテクチャを採用すると、より柔軟な MQTT ブローカー サービスを顧客に提供できるだけでなく、大規模導入時の顧客の運用コストも削減できます。

著作権に関する声明: この記事は EMQ によるオリジナルです。転載する場合は出典を明記してください。

元のリンク: https://www.emqx.com/zh/blog/multi-tenancy-architecture-in-mqtt

おすすめ

転載: blog.csdn.net/emqx_broker/article/details/131539544