Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 » Relay Server » Relay Server の概要

 

アフィニティ

一部のクライアントおよびバックエンドサーバは、複数の HTTP 要求が特定の順番で同じバックエンドサーバまたはそのバックエンドサーバに接続されている同じ TCP ソケットに接続されることを必要とします。Relay Server の用語では、複数の HTTP 要求におけるクライアントとバックエンドサーバの間の関連付けのことを「アフィニティ」といいます。クライアントが同じバックエンドサーバに複数の要求を送信する必要がなければ、アフィニティは不要なので、これについての詳しい知識は必要ありません。

Relay Server はアフィニティの情報を HTTP リソースに追加し、HTTP 要求で送信されたアフィニティ情報に従います。アフィニティ情報は HTTP cookie かヘッダまたはその両方を使用して送信されます。Relay Server を通じて同じバックエンドサーバに複数の要求を送信するクライアントは、各 HTTP 応答で受信したアフィニティ情報を、次の HTTP 要求に挿入して返送する必要があります。バックエンドサーバは、何もしなくても、Relay Server のアフィニティに参加できます。同じバックエンドに送信される一連の要求に非持続的 HTTP が使用される場合、要求ごとに新しい TCP ソケット接続が作成されます。1 つのファームに複数のバックエンドサーバがある場合、クライアントは要求間でアフィニティ情報を維持する必要があります。Relay Serever は、アフィニティ情報によって、一連の要求が同じバックエンドサーバに関連付けられ、そのサーバを宛先としていることを知ります。

持続的 HTTP が使用される場合、各要求に同じ TCP ソケットが使用される必要があります。持続的 HTTP は、ソケット (TLS の可能性もある) によるオーバヘッドが軽減され、パフォーマンス上有利であるため、よく使用されます。持続的 HTTP が使用される場合、クライアントは要求間でアフィニティ情報も維持する必要があります。Relay Server は Outbound Enabler とバックエンドサーバの間でもこのような持続性を保つためにアフィニティ情報を必要とするためです。

アフィニティの管理に関してクライアント側に問題があると、要求の失敗やその他の異常動作が生じる可能性があります。クライアントアプリケーションがアフィニティに関して問題があると疑われる場合は、クライアントアプリケーションのベンダに問い合わせてください。Relay Server の管理者がクライアントアプリケーションに詳しい知識を持っていて、そのバックエンドファームに関連する全クライアントのアフィニティの維持方法として選択されたメカニズムを十分に理解している場合は、使用しないアフィニティの挿入を選択的にオフにしてもかまいません。このようにするには、Relay Server 設定ファイルのバックエンドファームの選択で、active_cookie または active_header のプロパティを使用します。renew_overlapped_cookie プロパティを明示的にオフにすることはおすすめしません。これをオフにすると、同時セッション間が分離されていない状態でアフィニティ情報を維持するためにクライアントが標準の HTTP cookie を反映したとき、接続に問題が生じる可能性があります。

 参照