このトピックでは、Oracle Big Data DiscoveryにおけるStudioノードからDgraphノードへのリクエストのロード・バランシングおよびルーティングについて説明します。
デプロイメント戦略に応じて、外部クライアントに対して、Big Data Discoveryクラスタのオンプレミス・デプロイメントとの通信エントリ・ポイントを、クラスタのStudioホスティング・ノードまたはStudioインスタンスの前に構成された外部ロード・バランサにすることができます。
外部ロード・バランサを使用する場合、すべてのリクエストを受信して、StudioアプリケーションをホストするBig Data Discoveryクラスタ・デプロイメントにおけるすべてのノードに分散します。リクエストは、Studioノードから受信すると、BDDによって適切なDgraphノードにルーティングされます。
外部ロード・バランサを使用しない場合、Studioノードに外部リクエストを送信できます。これらは、Dgraphをホストしているノード間でロード・バランシングされます。
Big Data Discoveryクラスタは、Dgraphインスタンスをホストしているクラスタ・ノードのサブセットにリクエストを自動的に送信します。
リクエストはStudioまたはデータ処理からクラスタ内のDgraph Gatewayに送信でき、クラスタはリクエストを適切なDgraphノードにルーティングします。たとえば、更新リクエスト(データのロード・リクエストまたは構成更新など)は、更新が必要なDgraphデータベースのリーダーDgraphにルーティングされます。更新以外のリクエストは使用可能な任意のDgraphノードにルーティングできます。これらはラウンドロビン・アルゴリズムを使用してDgraphノード間でロードバランシングされます。
BDDクラスタは、各StudioリクエストのヘッダーにあるセッションIDに応じて、StudioからDgraphに届くすべてのリクエストに対してセッション・アフィニティを利用します。同じセッションIDのリクエストは、常にクラスタ内の同じDgraphノードにルーティングされます。これにより、効率的にDgraphキャッシュを利用することで、問合せ処理パフォーマンスが向上し、Studioビューのキャッシュ・パフォーマンスが向上します。