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

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

ローカライズされた画像

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

カスタムプロトコルのコマンドラインインターフェイス (CLI) コマンドでは、「user」というキーワードを使用して、基礎となる構成エンティティがユーザー定義であることを表します。拡張コードを使用すると、システムに新しいユーザープロトコルを追加したり、ユーザー定義プロトコル用のユーザー仮想サーバーを追加したりできます。ユーザー仮想サーバーは、パラメーターを設定することで順番に設定できます。仮想サーバーパラメーターの設定値は、拡張コードで確認できます。

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

  1. MQTTプロトコル拡張実装ファイルをNetScalerシステムにインポートします。mqtt.lua のコードリストは以下の通りです。以下の例では、Web サーバーでホストされている 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. ユーザー負荷分散仮想サーバーを追加し、それにバックエンドサービスをバインドします。

    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-->
    
  4. 新しく追加されたプロトコル用のユーザー仮想サーバーを追加します。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クライアントとサーバーの動作のトラフィックパイプライン