Citrix ADC

MQTT负载均衡

消息队列遥测传输(MQTT)在OASIS-Standard-Messaging-Protokoll für das Internet Der Dinge (IoT)中。MQTT ist eine flexible und einfach zu bedienende technology, die eine efficient Kommunikation innerhalb eines IoT-Systems ermöglicht。MQTT ist in broker - basertes Protokoll and wid häufig verwendet, um den Austausch von Nachrichten zwischen Kunden und brokoln zu erleichtern。

Die folgenden Hauptvorteile von MQTT machen es zu einer geeigneten选项für Ihr IoT-Gerät:

  • Zuverlassigkeit
  • Schnelle Reaktionszeit
  • Möglichkeit zur Unterstützung einer unbegrezten Anzahl von Geräten
  • Veröffentlichen/阿博尼耶伦·冯·纳赫里希滕,完美地死去für viel -zu- viel - kommunikation geeignet信德

物联网ist das Netzwerk von miteinander verbundenen Geräten, die in Sensoren, Software, Netzwerkkonnektivität und notwendige Elektronik eingebettet sind。Die eingebetteten Komponenten ermöglichen es IoT-Geräten, Daten zu sammeln and auszutauschen。Die zunehmende Nutzung von IoT-Geräten bringt Die netzwerkinfrastrucktur mit sich aus, wobei Scale Die herausrende darstellt。Bei einer großen Bereitstellung von IoT-Geräten müssen die von jedem IoT-Gerät generierten Daten schnell analysiert werden。嗯,斯卡利伦山之旅与森林资源的效率erfüllen, muss die Belastung des Brokerpools gleichmäßig脊椎werden。Mit Unterstützung des MQTT-Protokolls können Sie die Citrix ADC Appliance in IoT-Bereitstellungen verwenden, um den MQTT-Datenverkehr auszugleichen。

MQTT-Architektur, Citrix ADC应用设备,um den Lastausgleich des mqtt - datenverkerhrs zu verwenden。

MQTT-System

Eine IoT-Bereitstellung mit MQTT-Protokoll best ausfolgenden Komponenten:

  • MQTT-Broker。Ein Server, der alle Nachrichten von den Clients empfängt und die Nachrichten dann an die entsprechenden Zielclients weiterleitet。Der Broker ist dafür verantwortlich, alle Nachrichten zu empfangen, die Nachrichten zu filtern, zu bestimmen, wer jede Nachricht abonniert hat, und das Senden Der Nachricht an diese abonnierten客户。Der Broker ist Der zentrale Knotenpunkt, durch den jede Nachricht hinausgehen muss。
  • mqtt客户机。Jedes Gerät, von einem Mikrocontroller bis zu einem vollwertigen Server, der eine MQTT-Bibliothek betreibt und über ein Netzwerk mit einem MQTT-Broker verbunden ist。Sowohl Publisher als auch Abonnenten sind MQTT-Kunden。Die verlagund Abonnentenlabels beziehen sich darauf, ob der Kunde Nachrichten veröffentlicht oder Nachrichten abonniert帽子。
  • MQTT负载均衡器Die Citrix ADC应用程序应用服务器MQTT-Lastausgleichsserver konfiguriert, um den Lastausgleich des MQTT-Datenverkehrs zu erstellen。

在更典型的IoT-Bereitstellung verwaltet der Broker (Servercluster) die Gruppe der IoT-Geräte (IoT-Clients)。Die Last der Citrix ADC Appliance gleicht den MQTT-Verkehr an Die Broker baserend auf verschiedenen参数wie Client-ID, Thema und Benutzername aus。

Konfigurieren des Load Balancing für MQTT-Datenverkehr

Damit die Citrix ADC Appliance den Lastausgleich von MQTT-Datenverkehr ermöglicht, führen Sie die folgenden konfigationsaufgaben aus:

  1. MQTT/MQTT_TLS。
  2. Konfigurieren Sie den virtuellen Lastenausgleichsserver MQTT/MQTT_TLS。
  3. MQTT/MQTT_TLS- dienste an den virtuellen Server des Lastenausgleichs MQTT/MQTT_TLS。
  4. Konfigurieren Sie den virtuellen MQTT/MQTT_TLS-Content Switching-Server。
  5. Konfigurieren einer内容切换- aktion, die den virtuellen Ziel-Lastausgleichsserver angibt
  6. Konfigurieren Sie eine内容切换richtlinie。
  7. Binden Sie die内容切换- richtlinie an einen virtuellen内容切换- server, der bereits für die Umleitung auf den spezifischen virtuellen Lastausgleichsserver konfiguriert ist。
  8. Speichern Sie die构型。

So konfigurieren Sie den Lastenausgleich für MQTT-Datenverkehr mit der CLI

MQTT/MQTT_TLS。

add service     add servicegroup   bind servicegroup    

Beispiel:

add service srvcg1 10.106.163.3 1883 

Konfigurieren Sie den virtuellen Lastenausgleichsserver MQTT/MQTT_TLS。

add lb vserver     

Beispiel:

add lb vserver lb1 MQTT 10.106.163.9 1883 

bden Sie die Dienste oder Dienstgruppen von MQTT/MQTT_TLS an den virtuellen MQTT- lastausgleichserver。

绑定lb vserver  绑定lb vserver   

Beispiel:

绑定lb vserver lb1 srvcg1 

Konfigurieren Sie den virtuellen MQTT/MQTT_TLS-Content Switching-Server。

add cs vserver     

Beispiel:

add cs vserver cs1 MQTT 10.106.163.13 

Konfigurieren Sie eine内容切换- aktion, die den virtuellen Ziel-Lastausgleichsserver angibt

add cs action  -targetLBVserver  [-comment ] 

Beispiel:

添加cs动作act1 -targetlbvserver lbv1 

Konfigurieren Sie eine内容切换richtlinie。

add cs policy  [-url  | -rule ] -action  

Beispiel:

添加MQTT.COMMAND.EQ(CONNECT) && MQTT.CONNECT.FLAGS.QOS.eq(2) " -action act1 

Binden Sie die内容切换- richtlinie an einen virtuellen内容切换- server, der bereits für die Umleitung auf den spezifischen virtuellen Lastausgleichsserver konfiguriert ist。

绑定cs vserver  -policyName  -priority  

Beispiel:

绑定cs vserver cs1 -policyName cspol1 -priority 20 

Speichern Sie die构型。

保存ns配置

所以konfigurieren Sie Load Balancing für MQTT-Datenverkehr mit der GUI

  1. 航海家Sie zu交通管理>负载平衡>Virtuelle服务器, und erstellen Sie einen virtuellen Lastausgleichsserver vom TypMQTT奥得河MQTT_TLS
  2. 我是说,我是说,我是说,我是说,我是说。
  3. Binden Sie den Dienst an den virtuellen mqtt服务器。
  4. 祝你好运Speichern

MQTT-Nachrichtenlangenbegrenzung

Die Citrix ADC电器behandelt Die Nachrichten mit einer Nachrichtenlänge von mehr als 65536字节als Jumbo-Pakete und verwirft sie standardmäßig。Derdropmqttjumbomessagelb-Parameter entscheidet, ob die Jumbo-Pakete verarbeitet werden oder niht。柴油机参数ist standardmäßig auf .是的gesetzt, was bedeutet, dass die Jumbo-MQTT-Pakete standardmäßig verworfen werden。温氏柴油机参数auf没有gesetzt ist, verarbeitet die ADC-Appliance selbst die Pakete mit einer Nachrichtenlänge von mehr als 65536字节。

So konfigurieren Sie die ADC-Appliance für die Verarbeitung von Jumbo-Paketen mit CLI:

设置lb参数-dropMqttJumboMessage [YES | NO] 

Beispiel:

设置lb参数-dropMqttJumboMessage no 
MQTT负载均衡