Protokollerweiterungen - Traffic-Pipeline für benutzerdefinierte TCP-Client- und Serververhalten
Die folgende Abbildung zeigt die Beispielprotokollerweiterung — Datenverkehrspipeline für benutzerdefiniertes TCP-Client- und Serververhalten.
Fügen Sie mithilfe von Protokollerweiterungen ein benutzerdefiniertes Protokoll hinzu
Die Befehle der Befehlszeilenschnittstelle (CLI) für benutzerdefinierte Protokolle verwenden das Schlüsselwort „user“, um den benutzerdefinierten Charakter der zugrunde liegenden Konfigurationsentitäten zu kennzeichnen. Mit Hilfe von Erweiterungscode können Sie dem System ein neues Benutzerprotokoll hinzufügen und virtuelle Benutzerserver für benutzerdefinierte Protokolle hinzufügen. Die virtuellen Benutzerserver sind wiederum konfigurierbar, indem Parameter festgelegt werden. Konfigurierte Werte für virtuelle Serverparameter sind im Erweiterungscode verfügbar.
Das folgende Beispiel veranschaulicht den Benutzerablauf beim Hinzufügen von Unterstützung für ein neues Protokoll. Das Beispiel fügt dem System die Unterstützung des MQTT-Protokolls hinzu. MQTT ist ein Maschine-zu-Maschine-Konnektivitätsprotokoll für das Internet der Dinge. Es ist ein einfacher Nachrichten-Transport zum Veröffentlichen und Abonnieren. Dieses Protokoll ist nützlich für Verbindungen mit entfernten Standorten und verwendet Client- und Broker-Tools, um Nachrichten an Abonnenten zu veröffentlichen.
-
Importieren Sie die Implementierungsdatei der MQTT-Protokollerweiterung in das NetScaler-System. Die Codeliste für mqtt.lua ist unten angegeben. Das folgende Beispiel importiert die MQTT-Erweiterungsdatei, die auf einem Webserver gehostet wird.
import extension http://10.217.24.48/extensions/mqtt.lua mqtt_code
-
Fügen Sie dem System mithilfe der Erweiterung ein neues TCP-basiertes Benutzerprotokoll hinzu.
add user protocol MQTT -transport TCP -extension mqtt_code
-
Fügen Sie einen vServer für den Benutzerlastenausgleich hinzu und binden Sie Backend-Dienste daran.
add service mqtt_svr1 10.217.24.48 USER_TCP 1501 add service mqtt_svr2 10.217.24.48 USER_TCP 1502 add lb vserver mqtt_lb USER_TCP –lbmethod USER_TOKEN bind lb vserver mqtt_lb mqtt_svr1 bind lb vserver mqtt_lb mqtt_svr2 <!--NeedCopy-->
-
Fügen Sie einen Benutzer-vserver für das neu hinzugefügte Protokoll hinzu. Stellen Sie defaultlb auf den oben konfigurierten LB-vserver ein.
add user vserver mqtt_vs MQTT 10.217.24.28 8765 -defaultLb mqtt_lb
-
Aktivieren Sie optional die MQTT-Sitzungspersistenz basierend auf ClientID und legen Sie den Persistenztyp auf USERSESSION fest.
set lb vserver mqtt_lb -persistenceType USERSESSION