エンタープライズIoT導入を検討する際に探すべき最も重要な基準は、 スケーラビリティ。 大量のデータに大きなトラフィックがある場合、スケーラビリティは問題になりますか? 克服する お問い合わせ MQTTの特長 堅牢で堅牢なブローカークラスター欠陥許容の高い よくある質問設定が必要です。 しかし、どのようにして MQTTブローカーが接続するIoT環境のデバイスは? 輸送層の負荷分散はできます メールアドレス この課題は、Azure のロードバランサーが IoT アプリケーションに適合し、スケールアップします。Bevywise MQTT(ビービービーワイワイズ MQTT) ブローカー完全に作品 ALB では、Azure VM でホストすることも可能です。 このブログでは、Azureで非常にスケーラブルなIoT実装をセットアップする方法のツアーに行くことができます。 Bevywise MQTTブローカー。

IBC-Enabled MQTTブローカーへの洞察

無停電MQTT通信を維持するには、高可用性MQTTブローカーが必要です。 ネイティブながら 公開と登録モデル インフォメーションMQTTプロトコルビルトインの高可用性が欠如し、それを達成することは正しいMQTTと直面しています ブローカー。 そこで、 Bevywise MQTT(ビービービーワイズ) ブローカーは、Inter-brokerコミュニケーター(IBC)機能を導入しています。 お問い合わせ 革新は連続的な促進します シームレスなデバイスを確保する、相互ブローカー通信 クライアントがアーキテクチャ内の異なるブローカーに接続しても通信。

クラスタ構成

Ha architecture

上記のアーキテクチャを例として検討してください。 2つ以上のMQTTブローカーのグループ化を示しています (IBCが有効になっています) クラスタされたセットアップを作成する。 負荷バランサーは、ワークロードを均等に配布するために採用されます ブローカー全体で、共有データベースは、ブローカー内のすべてのブローカーのための中央ストレージオプションとして機能します セットアップ。

ロードバランサはどのような機能がありますか?

ロードバランサーの目標は、生産性を高め、サーバーとリソースを過負荷から保護することです。 ユーザーは、素早く、安全、そして信頼できる経験を与えます。 2台以上のサーバーがあれば、 ロードバランサーのインストールについて。 ロードバランサの主要特性は以下の通りです。


  • 十分な容量の健康なサーバーへのトラフィックを分配し、減速を防ぐことができます トラフィックの増加によって引き起こされるあなたのウェブサイト。
  • トラフィックを自動的にアクセスし、利用可能なサーバーがサーバーのメンテナンスをお手伝いします 中断を経験します。
  • 早期サーバー故障検知が可能になり、トラフィックは健康に転換します。 依然として実行中のサーバー。
  • 包括的なパフォーマンスデータ、エラーアラート、およびレポートを提供して、貴社を支援 インフラの計画、変更、最適化

Azure ロードバランサーを使用して、高可用性を実現

Azureのロードバランサーを使用して高可用性を有効にする要件:


  • 「N’ 顧客数
  • MQTTブローカー(IBC対応の1以上)
  • ロードバランサー(アジュール)
  • データベース

MQTTブローカーの数は、顧客の数に基づいて増加することができます。 IBCサーバーの使用に伴い、リンク 所有しているMQTTブローカーをすべてクラスターします。 MQTTブローカーのいずれかが失敗した場合は、ロードバランサー ブローカーが失敗したMQTTブローカーの責任を引き継ぎ、メッセージを送るべきかどうかを決定します 接続された顧客に、失敗を防ぐ。 すべてのクラスターノードとして有効です。 ブローカーはすべてのMQTTメッセージを受け取ります。

マシンの1つにAzureをロードバランサーとして設定します。 Azureの負荷バランサーの健康の調査はトラックを保ちます 各仮想マシンの割り当てられたポートで、操作上の仮想マシンへのトラフィックのみをルートします。

設定する Azure のロードバランサーは、以下に示すアクションを実行します。

ステップ1:Azureポータルにログインすると、「Load Balancer」を検索 結果から選択します。 「追加」をクリックします。 「基本タブ」では、以下を正確に入力します。 「Review + Create」をクリックします。


  • サブスクリプション : サブスクリプションを選択
  • リソースグループ : 新規作成を選択し、テキストボックスにリソースグループ名を入力します。
  • 名前: 名前を与えて下さい
  • 地域 : 使用するサーバーの領域を選択します。
  • タイプ: 内部および公共の間で、公衆を選んで下さい
  • SKU : 基本と標準外, 基本を選択
  • パブリックIPアドレス : 新規作成を選択します。 既にパブリックIPアドレスをお持ちの方は、既存のIPアドレスを利用してください。 使いたい。
  • パブリックIPアドレス名 : テキストボックスにパブリックIPアドレス名を入力します。

最後に「作成」をクリックすると、ロードバランサが表示されます。

ステップ2:ネットワーキングに行く > リソースを作成する下の仮想ネットワーク。 エントリー 仮想ネットワークの構築に必要なプロジェクトとインスタンス情報。

「次へ: IP アドレス」とラベル付けされたボタンは、ページの下部に表示されます。 IPアドレスを入力してください IP アドレスタブの下に、Subnet 名の下の「デフォルト」という用語を選択します。

変更を行うには、サブネットを編集し、サブネットカテゴリで変更したいものを保存します。

ステップ3:すべてのリソース > すべてのサービスを選択します。 リソースのリストから、 リソースの名前を選択します。 [設定]メニューから、[バックエンドプール]> [追加]を選択します。

バックエンドプールページの追加に必要な情報を入力し、[追加] をクリックします。

ステップ4:すべてのサービスを選択 > すべてのリソース > リソース名を選択してください リソースリストから健康プローブを作成します。 [設定] で [健康プローブ] を選択し、[追加] をクリックします。 それから Add Healthプローブ画面に情報を入力した後、OKをクリックします。


sslprobe

  • 名前 - あなたの健康の調査の名前を与えます
  • プロトコル – TCP
  • ポート – ブローカーが稼働しているポートを入力してください
  • インターバル - 5秒
  • によって使用される – HTTP
health probes

ステップ5:選ぶ すべてのサービス > すべてのリソース > を作成できます。 ロードバランサルール。 リソースリストが表示されます。リソースの名前を選択します。 負荷分散を選択 [設定] メニューからルールを設定し、[追加] をクリックします。

必要な情報を入力し、[OK] を選択します。


load2

最後に作成/完了をクリックして、ロードバランサを作成します。


load balancing rules

ステップ6:ロードバランサーのパブリックIPアドレスの検索とコピー 概要画面では、ブラウザのアドレスバーに貼り付けて、ロードバランサをテストします。 確認する お問い合わせ


有効な応答を得ると、ロードバランサが適切に設定され、通信することができます。 バックエンド仮想マシン。

MQTT ブローカーで Azure ロードバランサーを統合:

MQTTブローカーとAzureロードバランサーを統合するには、以下の手順に従ってください。


  • Bevywise/MQTTRoute/conf/broker.conf に行く
  • 設定後に生成されるロードバランサの IP アドレスを指定します。

料理 = 料理

BROKER_IP = ロードバランサのIPアドレス
ポート = 8082

ロードバランサーの IP がクラスターのセットアップ内のすべての MQTT ブローカーに入力されていることを確認してください。

データベース構成の詳細に関しては、当社の包括的な情報を参照してください。高可用性MQTTクラスター ニュースお問い合わせ

MQTT ブローカーから無料でスタートし、中断のない接続を体験しましょう。



このブログでは、Azure のロードバランサーの設定方法が高まることを理解できたことを願っています。 空室状況 自分でカスタマイズしてみてください。 使用方法Nginxロードバランシング MQTTブローカー高可用性をサポートするため、既に文書化されています。


お気軽にお問い合わせください。サポートお問い合わせ 質問や推奨事項