プロトコル拡張 - ユーザー定義TCPクライアントとサーバーの動作のトラフィックパイプライン

次の図は、プロトコル拡張の例を示しています。ユーザー定義の TCP クライアントとサーバー動作のトラフィックパイプライン

ローカライズされた画像

プロトコル拡張を使用してカスタムプロトコルを追加する

カスタムプロトコルの Command Line Interface(CLI; コマンドラインインターフェイス)コマンドは、キーワード「user」を使用して、基礎となる設定エンティティのユーザ定義の性質を示します。拡張コードの助けを借りて、新しいユーザプロトコルをシステムに追加し、ユーザ定義プロトコルのユーザ仮想サーバを追加することができます。ユーザー仮想サーバーは、パラメータを設定することによって順番に設定できます。仮想サーバパラメータの設定値は、拡張コードで使用できます。

次に、新しいプロトコルのサポートを追加するためのユーザフローの例を示します。この例では、MQTT プロトコルのサポートをシステムに追加します。MQTT は、マシン間の「モノのインターネット」接続プロトコルです。これは、軽量なパブリッシュ/サブスクライブメッセージングトランスポートです。リモートロケーションとの接続に便利なこのプロトコルは、クライアントおよびブローカツールを使用して、サブスクライバにメッセージをパブリッシュします。

  1. MQTTプロトコル拡張実装ファイルをCitrix ADCシステムにインポートします。mqtt.luaのコードリストは以下の通りです。以下の例では、ウェブサーバー上でホストされている MQTT 拡張ファイルをインポートしています。

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

  2. 拡張を使用して、新しいユーザ TCP ベースのプロトコルをシステムに追加します。

    add user protocol MQTT -transport TCP -extension mqtt_code

  3. ユーザ負荷分散 vserver を追加し、それにバックエンドサービスをバインドします。

    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. 新しく追加されたプロトコルのユーザー vserver を追加します。defaultlb を、上記で設定した LB 仮想サーバに設定します。

    add user vserver mqtt_vs MQTT 10.217.24.28 8765 -defaultLb mqtt_lb

  5. オプションで、ClientID に基づいて MQTT セッションパーシステンスを有効にし、パーシステンスタイプを USERSESSION に設定します。

    set lb vserver mqtt_lb -persistenceType USERSESSION

プロトコル拡張 - ユーザー定義TCPクライアントとサーバーの動作のトラフィックパイプライン