MQTT負荷分散
-
信頼性
-
迅速な応答時間
-
サポートできるデバイス数は無制限
-
多対多のコミュニケーションに最適なパブリッシュ/サブスクライブメッセージ
-
**MQTT ブローカー。**クライアントからすべてのメッセージを受信し、そのメッセージを適切な宛先クライアントにルーティングするサーバー。ブローカーは、すべてのメッセージの受信、メッセージのフィルタリング、各メッセージの購読者の決定、および購読しているクライアントへのメッセージの送信を行います。ブローカーは、すべてのメッセージが通過する中心的なハブです。
-
**MQTT クライアント。**マイクロコントローラーから本格的なサーバーまで、MQTT ライブラリを実行し、ネットワーク経由で MQTT ブローカーに接続するあらゆるデバイス。発行元とサブスクライバーの両方が MQTT クライアントです。発行元とサブスクライバーのラベルは、クライアントがメッセージをパブリッシュしているのか、それともサブスクライブしてメッセージを受信しているのかを示します。
-
**MQTT ロードバランサー。**NetScaler ADCアプライアンスは、MQTTトラフィックを負荷分散するためにMQTT負荷分散仮想サーバーで構成されています。
MQTT トラフィックの負荷分散の設定
-
MQTT/MQTT_TLS サービスまたはサービスグループを設定します。
-
MQTT/MQTT_TLS 負荷分散仮想サーバーを設定します。
-
MQTT/MQTT_TLS サービスを MQTT/MQTT_TLS 負荷分散仮想サーバーにバインドします。
-
MQTT/MQTT_TLS コンテンツスイッチング仮想サーバーを設定します。
-
ターゲットの負荷分散仮想サーバーを指定するコンテンツスイッチングアクションを設定します。
-
コンテンツスイッチングポリシーを設定します。
-
コンテンツスイッチングポリシーを、特定の負荷分散仮想サーバーにリダイレクトするようにすでに構成されているコンテンツスイッチング仮想サーバーにバインドします。
-
構成を保存します。
CLI を使用して MQTT トラフィックの負荷分散を設定するには
add service <name> <IP> <protocol> <port>
add servicegroup <ServiceGroupName> <Protocol>
bind servicegroup <serviceGroupName> <IP> <port>
add service srvc1 10.106.163.3 MQTT 1883
add servicegroup srvcg1 MQTT
bind servicegroup srvcg1 10.106.163.3 1883
add lb vserver <name> <protocol> <IPAddress> <port>
add lb vserver lb1 MQTT 10.106.163.9 1883
bind lb vserver <name> <serviceName>
bind lb vserver <name> <servicegroupName>
bind lb vserver lb1 srvc1
bind lb vserver lb1 srvcg1
add cs vserver <name> <protocol> <IPAddress> <port>
add cs vserver cs1 MQTT 10.106.163.13 1883
add cs action <name> -targetLBVserver <string> [-comment <string>]
add cs action act1 -targetlbvserver lbv1
add cs policy <policyName> [-url <string> | -rule <expression>] –action <actName>
add cs policy cspol1 -rule “MQTT.COMMAND.EQ(CONNECT) && MQTT.CONNECT.FLAGS.QOS.eq(2)” -action act1
bind cs vserver <virtualServerName> -policyName <policyName> -priority <positiveInteger>
bind cs vserver cs1 –policyName cspol1 -priority 20
save ns config
GUI を使用して MQTT トラフィックの負荷分散を設定するには
MQTT メッセージ長の制限
dropmqttjumbomessage lb パラメータは、ジャンボパケットを処理するかどうかを決定します。このパラメータはデフォルトで YESに設定されています。つまり、ジャンボ MQTT パケットはデフォルトでドロップされます。このパラメータを NOに設定すると、ADC アプライアンスはメッセージ長が 65536 バイトを超えるパケットも処理します。
Set lb parameter –dropMqttJumboMessage [YES | NO]
set lb parameter –dropMqttJumboMessage no