-
-
-
VMware ESX、Linux KVM、およびCitrix HypervisorでNetScaler ADC VPXのパフォーマンスを最適化する
-
-
-
-
-
-
-
-
-
-
-
-
-
MQTT負荷分散
-
-
-
-
-
-
-
This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
MQTT負荷分散
メッセージキューテレメトリトランスポート (MQTT) は、モノのインターネット (IoT) 用の OASIS 標準メッセージングプロトコルです。MQTT は、IoT システム内で効果的な通信を実現する柔軟で使いやすいテクノロジーです。MQTT はブローカーベースのプロトコルで、クライアントとブローカー間のメッセージ交換を容易にするために広く使用されています。
MQTT には次の主な利点があるため、お使いの IoT デバイスに最適なオプションです。
- 信頼性
- 迅速な応答時間
- サポートできるデバイス数は無制限
- 多対多のコミュニケーションに最適なパブリッシュ/サブスクライブメッセージ
IoTは、センサー、ソフトウェア、ネットワーク接続、および必要な電子機器が組み込まれた相互接続されたデバイスのネットワークです。組み込みコンポーネントにより、IoT デバイスはデータを収集して交換できます。IoTデバイスの使用の増加は、ネットワークインフラストラクチャに複数の課題をもたらしますが、その主な課題はスケールです。IoTデバイスを大規模に導入する場合、各IoTデバイスによって生成されたデータを迅速に分析する必要があります。スケール要件とリソースの効率的な使用を実現するには、ブローカープールの負荷を均等に分散する必要があります。MQTTプロトコルのサポートにより、IoT展開でCitrix ADCアプライアンスを使用して、MQTTトラフィックの負荷分散を行うことができます。
次の図は、Citrix ADCアプライアンスを使用してMQTTトラフィックの負荷を分散するMQTTアーキテクチャを示しています。
MQTT プロトコルを使用した IoT デプロイメントには、次のコンポーネントがあります。
- MQTT ブローカー。クライアントからすべてのメッセージを受信し、そのメッセージを適切な宛先クライアントにルーティングするサーバー。ブローカーは、すべてのメッセージの受信、メッセージのフィルタリング、各メッセージの購読者の決定、および購読しているクライアントへのメッセージの送信を行います。ブローカーは、すべてのメッセージが通過する中心的なハブです。
- MQTT クライアント。マイクロコントローラーから本格的なサーバーまで、MQTT ライブラリを実行し、ネットワーク経由で MQTT ブローカーに接続するあらゆるデバイス。発行元とサブスクライバーの両方が MQTT クライアントです。発行元とサブスクライバーのラベルは、クライアントがメッセージをパブリッシュしているのか、それともサブスクライブしてメッセージを受信しているのかを示します。
- MQTT ロードバランサー。Citrix ADCアプライアンスは、MQTTトラフィックを負荷分散するためにMQTT負荷分散仮想サーバーで構成されています。
一般的な IoT 展開では、ブローカー(サーバーのクラスタ)が IoT デバイスのグループ(IoT クライアント)を管理します。Citrix ADCアプライアンスは、クライアントID、トピック、ユーザー名などのさまざまなパラメーターに基づいて、ブローカーへのMQTTトラフィックの負荷を分散します。
MQTT トラフィックの負荷分散の設定
NetScalerアプライアンスがMQTTトラフィックの負荷分散を行うには、次の構成タスクを実行します。
- MQTT/MQTT_TLS サービスまたはサービスグループを設定します。
- MQTT/MQTT_TLS 負荷分散仮想サーバーを設定します。
- MQTT/MQTT_TLS サービスを MQTT/MQTT_TLS 負荷分散仮想サーバーにバインドします。
- MQTT/MQTT_TLS コンテンツスイッチング仮想サーバーを設定します。
- ターゲットの負荷分散仮想サーバーを指定するコンテンツスイッチングアクションを設定します。
- コンテンツスイッチングポリシーを設定します。
- コンテンツスイッチングポリシーを、特定の負荷分散仮想サーバーにリダイレクトするようにすでに構成されているコンテンツスイッチング仮想サーバーにバインドします。
- 構成を保存します。
CLI を使用して MQTT トラフィックの負荷分散を設定するには
MQTT/MQTT_TLS サービスまたはサービスグループを設定します。
add service <name> <IP> <protocol> <port>
add servicegroup <ServiceGroupName> <Protocol>
bind servicegroup <serviceGroupName> <IP> <port>
<!--NeedCopy-->
例:
add service srvc1 10.106.163.3 MQTT 1883
add servicegroup srvcg1 MQTT
bind servicegroup srvcg1 10.106.163.3 1883
<!--NeedCopy-->
MQTT/MQTT_TLS 負荷分散仮想サーバーを設定します。
add lb vserver <name> <protocol> <IPAddress> <port>
<!--NeedCopy-->
例:
add lb vserver lb1 MQTT 10.106.163.9 1883
<!--NeedCopy-->
MQTT/MQTT_TLS サービスまたはサービスグループを MQTT 負荷分散仮想サーバーにバインドします。
bind lb vserver <name> <serviceName>
bind lb vserver <name> <servicegroupName>
<!--NeedCopy-->
例:
bind lb vserver lb1 srvc1
bind lb vserver lb1 srvcg1
<!--NeedCopy-->
MQTT/MQTT_TLS コンテンツスイッチング仮想サーバーを設定します。
add cs vserver <name> <protocol> <IPAddress> <port>
<!--NeedCopy-->
例:
add cs vserver cs1 MQTT 10.106.163.13 1883
<!--NeedCopy-->
ターゲットの負荷分散仮想サーバーを指定するコンテンツスイッチングアクションを設定します。
add cs action <name> -targetLBVserver <string> [-comment <string>]
<!--NeedCopy-->
例:
add cs action act1 -targetlbvserver lbv1
<!--NeedCopy-->
コンテンツスイッチングポリシーを設定します。
add cs policy <policyName> [-url <string> | -rule <expression>] –action <actName>
<!--NeedCopy-->
例:
add cs policy cspol1 -rule “MQTT.COMMAND.EQ(CONNECT) && MQTT.CONNECT.FLAGS.QOS.eq(2)” -action act1
<!--NeedCopy-->
コンテンツスイッチングポリシーを、特定の負荷分散仮想サーバーにリダイレクトするようにすでに構成されているコンテンツスイッチング仮想サーバーにバインドします。
bind cs vserver <virtualServerName> -policyName <policyName> -priority <positiveInteger>
<!--NeedCopy-->
例:
bind cs vserver cs1 –policyName cspol1 -priority 20
<!--NeedCopy-->
構成を保存します。
save ns config
<!--NeedCopy-->
GUI を使用して MQTT トラフィックの負荷分散を設定するには
- [ **トラフィック管理 ] > [ 負荷分散 ] > [ 仮想サーバー] に移動し、MQTT または MQTT_TLS タイプの負荷分散仮想サーバーを作成します。**
- MQTT タイプのサービスまたはサービスグループを作成します。
- サービスを MQTT 仮想サーバーにバインドします。
- [保存] をクリックします。
MQTT メッセージ長の制限
NetScalerアプライアンスは、メッセージ長が65536バイトを超えるメッセージをジャンボパケットとして扱い、デフォルトで破棄します。 dropmqttjumbomessage
lb パラメータは、ジャンボパケットを処理するかどうかを決定します。このパラメータはデフォルトで YESに設定されています。つまり、ジャンボ MQTT パケットはデフォルトでドロップされます。このパラメータを NOに設定すると、ADC アプライアンスはメッセージ長が 65536 バイトを超えるパケットも処理します。
CLIを使用してジャンボパケットを処理するようにADCアプライアンスを設定するには:
Set lb parameter –dropMqttJumboMessage [YES | NO]
<!--NeedCopy-->
例:
set lb parameter –dropMqttJumboMessage no
<!--NeedCopy-->
共有
共有
この記事の概要
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.