-
-
-
VMware ESX、Linux KVM、およびCitrix HypervisorでNetScaler ADC VPXのパフォーマンスを最適化する
-
AWSでNetScaler ADC VPXインスタンスを展開する
-
-
-
-
-
-
-
-
-
-
-
-
-
-
ユースケース2:TCPバイトストリームの名前と値のペアに基づいて規則に基づくパーシステンスを構成する
-
-
-
This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
ユースケース2:TCPバイトストリームの名前と値のペアに基づいてルールベースの永続性を構成する
プロトコルによっては、名前/値のペアを TCP バイトストリームで送信するものもあります。この例の TCP バイトストリームのプロトコルは、財務情報交換 (FIX) プロトコルです。XML以外の実装では、FIXプロトコルにより、ネットワークを介して通信する2つのホストが、名前と値のペア(「FIXフィールド」と呼ばれる)のリストとしてビジネスまたは取引関連の情報を交換できます。フィールドの形式は<tag>=<value><delimiter>
です。この従来のタグ値形式により、FIXプロトコルはユースケースに最適です。
FIXフィールドのタグは、フィールドの意味を示す数値識別子です。この例では、
- タグ 35 はメッセージタイプを示します。
- 等号の後の値は、指定されたタグの特定の意味を保持し、データ型に関連付けられています。タグ 35 の値が A の場合は、メッセージがログオンメッセージであることを示します。
- 区切り文字は、印刷されない「ヘッダーの開始」(SOH) ASCII 文字 (0x01) で、キャレット記号 (^) です。
- 各フィールドには名前も割り当てられます。タグ 35 のフィールドは MsgType フィールドです。
ログオンメッセージの例を次に示します。
8=FIX.4.1 9=61 35=A 49=INVMGR 56=BRKR 34=1 52=20000426-12:05:06 98=0 108=30 10=157
上記のようなタグ値リストのパーシステンスタイプの選択は、リストから特定の文字列を抽出するためのオプションによって決まります。トークンベースの永続性メソッドでは、ペイロードから抽出するトークンのオフセットと長さを指定する必要があります。FIX プロトコルでは、特定のフィールドのオフセットとその値の長さがメッセージによって異なる可能性があるため、これを行うことはできません。この変化は、メッセージタイプ、前のフィールド、および前の値の長さによって異なります。また、カスタムフィールドが定義されているかどうかによって、実装によっても異なります。このようなバリエーションにより、特定のフィールドの正確なオフセットを予測したり、トークンとして抽出される値の長さを指定したりすることは不可能になります。この場合、ルールベースの永続性が優先されるパーシステンスタイプです。
仮想サーバー fixlb1 が、Fix 対応アプリケーションのインスタンスをホストしているサーバーのファームへの TCP 接続の負荷分散を行うと仮定します。メッセージを送信する会社を識別する SenderCompid フィールドの値に基づいて、接続の永続性を構成します。この FIX フィールドのタグは 49 です (前述のログオンメッセージの例に示されています)。
ロードバランシング仮想サーバーのルールベースの永続性を構成するには、ロードバランシング仮想サーバーのパーシステンスタイプを RULE に設定し、ルールパラメータに式を設定します。式は、SenderCompID フィールドが見つかると予想される TCP ペイロードの一部を抽出し、結果の文字列を区切り文字に基づいて名前/値リストに型キャストしてから、次のように SenderCompID フィールド(タグ 49)の値を抽出する式である必要があります。
set lb vserver fixlb1 -persistenceType RULE -rule "CLIENT.TCP.PAYLOAD(300).TYPECAST_NVLIST_T('=','^').VALUE("\49\")"
注:これはCLIコマンドであるため、式ではバックスラッシュ文字が使用されています。構成ユーティリティを使用している場合は、バックスラッシュ文字を入力しないでください。
クライアントが、前述のログオンメッセージの例の名前と値のリストを含むFIXメッセージを送信する場合、式は値 INVMGR を抽出し、Citrix ADC アプライアンスはこの値に基づいて永続性セッションを作成します。
PAYLOAD () 関数の引数は、関数によって抽出された文字列に SenderCompID フィールドを含めるために必要な大きさにすることができます。オプションで、フィールドの値を抽出するときにアプライアンスで大文字と小文字を区別する場合は、SET_TEXT_MODE(IGNORECASE)関数を使用し、抽出された値のハッシュに基づいて永続セッションを作成するために HASH 関数を使用できます。次の式では、SET_TEXT_MODE (IGNORECASE) 関数と HASH 関数を使用します。
CLIENT.TCP.PAYLOAD(500).TYPECAST_NVLIST_T('=','^').SET_TEXT_MODE(IGNORECASE).VALUE("49").HASH
次に、FIX 接続の永続性を構成するために使用できる規則の例を示します (<tag>
は、値を抽出するフィールドのタグに置き換えます)。
- TCP ペイロードの最初の 300 バイトの FIX フィールドの値を抽出するには、CLIENT.TCP.PAYLOAD(300).BEFORE_STR(“^”).AFTER_STR(“
<tag>
=”)式を使用できます。 - オフセット 80 で 20 バイトの長さの文字列を抽出するには、文字列の名前値リストにキャストし、目的のフィールドの値を抽出するには、式 CLIENT.TCP.PAYLOAD(100).SUBSTR(80,20).TYPECAST_NVLIST_T(‘=’,’^’).VALUE(“
<tag>
“)を使用します。 - TCP ペイロードの最初の 100 バイトを抽出するには、文字列を名前/値リストにキャストし、目的のフィールドの 3 番目の出現の値を抽出するには、式CLIENT.TCP.PAYLOAD(100).TYPECAST_NVLIST_T(‘=’,’^’).VALUE(“
<tag>
“,2)を使用します。 注: VALUE()関数に渡される2番目の引数が nの場合、アプライアンスはフィールドの (n+1)<sup>th</sup>
インスタンスの値を抽出します。これは、カウントがゼロ( 0)。
次に、永続性の設定に使用できる規則の例を示します。FIX プロトコルを介して送信されるデータを評価できるのは、ペイロードベースの式だけです。その他の式は、より低いネットワーキングプロトコルに基づいてパーシステンスを設定するためのより一般的な式です。
- CLIENT.TCP.PAYLOAD(100)
- CLIENT.TCP.PAYLOAD(100).HASH
- CLIENT.TCP.PAYLOAD(100).SUBSTR(5,10)
- CLIENT.TCP.SRCPORT
- CLIENT.TCP.DSTPORT
- CLIENT.IP.SRC
- CLIENT.IP.DST
- CLIENT.IP.SRC.GET4
- CLIENT.IP.DST.GET4
- CLIENT.ETHER.SRCMAC.GET6
- CLIENT.ETHER.DSTMAC.GET5
- CLIENT.VLAN.ID
共有
共有
この記事の概要
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.