Protokollerweiterungen - Verkehrspipeline für benutzerdefinierte TCP-Client- und Serververhalten

Die folgende Abbildung zeigt die Beispielprotokollerweiterung - Verkehrspipeline für benutzerdefinierte TCP-Client- und Serververhalten

lokalisiertes Bild

Hinzufügen eines benutzerdefinierten Protokolls mithilfe von Protokollerweiterungen

Die Befehlszeilenschnittstellenbefehle (CLI) für das benutzerdefinierte Protokoll verwenden das Schlüsselwort user, um die benutzerdefinierte Natur der zugrunde liegenden Konfigurationsobjekte zu signalisieren. 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 Server des Benutzers sind wiederum durch Einstellen von Parametern konfigurierbar. Konfigurierte Werte für virtuelle Serverparameter sind im Erweiterungscode verfügbar.

Das folgende Beispiel veranschaulicht den Benutzerfluss zum Hinzufügen von Unterstützung für ein neues Protokoll. In diesem Beispiel wird dem System die Unterstützung des MQTT-Protokolls hinzugefügt. MQTT ist ein Internet of Things -Konnektivitätsprotokoll von Maschine zu Maschine. Es ist ein leichter Publish/Subscribe Messaging-Transport. Dieses Protokoll ist nützlich für Verbindungen mit Remotestandorten und verwendet Client- und Brokertools, um Nachrichten an Abonnenten zu veröffentlichen.

  1. Importieren Sie die Implementierungsdatei für die MQTT-Protokollerweiterung in das Citrix ADC-System. Die Code-Auflistung für mqtt.lua ist unten angegeben. Im folgenden Beispiel wird die auf einem Webserver gehostete MQTT-Erweiterungsdatei importiert.

    import extension http://10.217.24.48/extensions/mqtt.lua mqtt_code

  2. Fügen Sie dem System mithilfe der Erweiterung ein neues TCP-basiertes Benutzerprotokoll hinzu.

    add user protocol MQTT -transport TCP -extension mqtt_code

  3. Fügen Sie einen Benutzer Load Balancing vserver hinzu und binden Sie Back-End-Dienste an ihn.

    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
    
  4. Fügen Sie einen Benutzer vserver für das neu hinzugefügte Protokoll hinzu. Setzen Sie die defaultlb auf den oben konfigurierten LB-vserver.

    add user vserver mqtt_vs MQTT 10.217.24.28 8765 -defaultLb mqtt_lb

  5. Aktivieren Sie optional die MQTT-Sitzungspersistenz basierend auf ClientID und legen Sie den Persistenztyp auf USERSESSION fest.

    set lb vserver mqtt_lb -persistenceType USERSESSION

Protokollerweiterungen - Verkehrspipeline für benutzerdefinierte TCP-Client- und Serververhalten