この章の内容は次のとおりです。
マルチサーバー・ドメイン内のサーバーをドメイン(インフラストラクチャ)レベルで管理します。構成エラーを避けるために、ドメイン内のすべてのサーバーを、同じマルチキャスト・アドレスとマルチキャスト・ポート番号、およびドメイン名で構成する必要があります。
たとえば、マルチキャスト・アドレスとポートが同じであるが、異なるドメイン名でサーバーを構成した場合は、Oracle Stream Analyticsでエラーが発生します。
ドメイン内のすべてのサーバーが他のサーバーによって障害検出、起動および再起動されます。アプリケーションを1つのサーバーにデプロイし、同じドメインにある別のサーバーからそれをアンデプロイできます。
Oracle Coherenceを使用してマルチサーバー・ドメインを作成すると、信頼のおけるスケーラビリティの高いピア・ツー・ピアのクラスタリング・プロトコル上で、ドメインは複製および配布した(パーティション化した)データの管理サービスを受信します。Oracle Coherenceには単一点障害がありませんが、かわりに、サーバーが正常に動作しなくなったときやネットワークから切断されたときは、クラスタ・データの管理サービスを透過的にフェイルオーバーして再配布します。新しいサーバーの追加または障害が発生したサーバーの再起動を行うと、サーバーによってクラスタが結合され、Oracle Coherenceでサービスの透過的な復元およびクラスタ・ロードの再配布が行われます。
注意:
Oracle Stream AnalyticsをOracle Coherenceとともに使用するには、最初に有効なOracle Coherenceライセンスを取得する必要があります。http://www.oracle.com/technetwork/middleware/coherence/overview/index.html
を参照してください。
Oracle Stream Analyticsネイティブ・クラスタリングでマルチサーバー・ドメインを作成すると、ドメインはTOTEMに基づいたネイティブ・クラスタリング実装を受信します。ただし、Oracle Stream Analyticsネイティブ・クラスタリングを使用する場合、Oracle Stream Analyticsの高可用性とサービス品質オプションを利用できません。「ネイティブ・クラスタリングを使用したマルチサーバー・ドメイン」を参照してください。
サーバー・グループは1つ以上のサーバーの集まりで、ドメイン内で固有の名前を持ちます。Oracle Stream Analyticsドメイン内では、構成可能なサーバー・グループ・メンバーシップを持つ任意の数のサーバー・グループを共存させることができます。
1つのサーバーを複数のサーバー・グループのメンバーにすることができます。サーバー・グループは、マルチサーバー・ドメインをより詳細なレベルでデプロイおよび管理することを可能にする管理ツールとして機能するため、ユーザーが基となるサーバー・グループを意識することはありません。
マルチサーバー・ドメイン内のデフォルト・サーバー・グループにアプリケーションをデプロイすると、それらのアプリケーションはドメイン内のすべてのサーバーにデプロイされます。マルチサーバー・ドメイン内のすべてのサーバーに、アプリケーションで必要となる同一の正しい構成リソースがある必要があります
Oracle Stream Analyticsには、次の事前定義済デプロイメント・サーバー・グループが用意されています。
アプリケーションをマルチサーバー・ドメイン内の特定のサーバーにデプロイできるように、カスタム・デプロイメント・サーバー・グループを作成することもできます。「カスタム・デプロイメント・グループ」を参照してください。Oracle Stream Analytics高可用性アプリケーションをデプロイし、スケーラビリティが必要な場合、Oracle Stream Analytics高可用性通知グループを構成する必要もあります。詳細は、Oracle Fusion Middleware Oracle Stream Analyticsビジュアライザの使用で、高可用性構成の視覚化を参照してください。
サーバー・グループを作成するには、名前を決定し、サーバー・グループに含めるサーバーのconfig.xml
ファイルのgroups
要素でその名前を使用します。
シングルトン・サーバー・デプロイメント・グループは、1つのローカル・サーバーのみで構成されます。このサーバー・グループのメンバーシップは、アクセス元のサーバーに依存します。このサーバー・グループを使用して、デプロイメントを単一サーバーに固定できます。
詳細は、「Oracle Coherenceを使用したマルチサーバー・ドメイン」を参照してください。
ドメイン・デプロイメント・グループには、ドメインの有効なすべてのメンバーが含まれています。そのメンバーシップは管理者によってのみ変更できます。
ドメイン名は、Oracle Stream Analyticsサーバーのconfig.xml
ファイルのdomain
要素によって決定されます。デフォルト・ドメイン名はAllDomainMembers
です。次の例では、次のconfig.xml
ファイル・エントリでデフォルト・ドメイン名がmyDomain
に変更されています。
<domain> <name>myDomain</name> </domain>
マルチサーバー・ドメインで均一なサーバーの集まり全体にアプリケーション・ロジックをレプリケートできない場合があります。例としては、異なる価格決定エンジンによって提供される最善の価格を決定するアプリケーションがあります。別の例としては、位置がしきい値を超えたときにアラートを送信するアプリケーションがあります。どちらの場合も、アプリケーションは複数の操作は実行しませんが、かわりにそれぞれ、1度計算するか、単一イベントを送信します。アプリケーションのモニターやHTTP pub-subサーバーなど、その他の場合は、アプリケーションはシングルトンの性質を持ちます。
より複雑な例は、2つのアプリケーションがあるドメインです。最初のアプリケーションstrategies
はいくつかの方法を使用して1つのデリバティブに複数の価格を計算し、結果をselector
アプリケーションにフィードします。selector
アプリケーションは、strategies
アプリケーションによって送信された結果から最善の価格を選択します。
フォールト・トレランスを実現するためにstrategies
アプリケーションをレプリケートできます。ただし、selector
アプリケーションは最善の価格を決定できるように状態を保持する必要があります。selector
が状態を保持する必要があるため、selector
アプリケーションは均一なサーバーのセット全体にレプリケートできません。
ドメインが完全に同一ではないサーバーをサポートする必要がある場合、カスタム・デプロイメント・グループを使用して構成できます。マルチサーバー・ドメイン内のカスタム・デプロイメント・グループにデプロイされたアプリケーションは、デプロイメント・グループ内のすべてのサーバーに均一にデプロイされます。デプロイメント・グループ内のすべてのサーバーには、アプリケーション(単数または複数)で必要となる適切な構成リソースがある必要があります。
詳細は、「Oracle Coherenceを使用したマルチサーバー・ドメイン」を参照してください。
Oracle Stream Analyticsの高可用性オプションを使用するようにアプリケーションを構成する場合は、プライマリOracle Stream Analyticsサーバーでは、Oracle Coherenceを使用してセカンダリ・サーバーと通信し、セカンダリ・サーバーにプライマリ・サーバーのイベント処理の進行状況の最新情報を送信します。
安全に通信できるようにマルチサーバー・ドメインで複数のOracle Stream Analyticsサーバーを構成することもできます。
詳細は、次を参照してください。
これは単に一般的な構造であり必須ではありませんが、わかりやすさと一貫性を保つために、この方法でドメインを設定することをお薦めします。マルチサーバー・ドメインのサーバーが別々のコンピュータに配置されている場合も、わかりやすさと一貫性を保つために、両方のコンピュータにディレクトリ構造をレプリケートすることをお薦めします。
図4-1に、3つのサーバーがあるマルチサーバー・ドメイン・ディレクトリを示しています。
図4-1では、myServer1
の構成ファイルのスニペットが、ドメイン・ディレクトリとドメイン・オブジェクトを同じ名前で構成する方法、およびサーバー・ディレクトリとサーバー名を示しています。
ドメイン・ディレクトリは、Oracle Stream Analyticsドメインのデフォルトの場所である/Oracle/Middleware/my_oep/
user_projects/domains
ディレクトリにあります。
config.xml
ファイルにおけるcluster
要素の子要素の順序は重要です。正しくない順序で要素を入れると、エラーが発生します。
次のリストは、子要素をリストする順序を示しています。
server-name
server-host-name
: ポイント・ツー・ポイントHTTPマルチサーバー通信に使用するホスト・アドレス/IPを指定します。デフォルト値はlocalhost
です。
マルチサーバー・ドメイン内の1つ以上のOracle Stream Analyticsサーバーが異なるホストにあり、Oracle Stream Analytics Visualizerを使用してマルチサーバー・ドメインを管理する場合は、この要素が必須です。サーバーが複数のIPアドレスが構成されたホスト・マシンにデプロイされている場合も、この要素は必須です(マルチサーバーかスタンドアロンサーバー環境のいずれでも)。
multicast-address
: マルチキャスト通信アドレス。Oracle Coherenceの場合、ユニキャスト・アドレスの既知アドレス(WKA)を使用できます。
multicast-port
: オプション。マルチキャスト・トラフィックに使用するポートを指定します。デフォルト値は9001
です。
identity
: Oracle Stream Analyticsネイティブ・クラスタリングを使用する場合のみ必須です。この要素はOracle Coherenceには使用しません。
enabled
security
groups
operation-timeout
: オプション。ポイント・ツー・ポイントHTTPマルチサーバー・リクエストのタイムアウトを指定します(ミリ秒)。デフォルト値は30000
です。
マルチサーバー・ドメインに対してOracle Coherenceクラスタリングを使用する場合、Oracle Stream Analyticsの高可用性とサービス品質オプションを利用できます。これらのオプションは、Oracle Stream Analyticsネイティブ・クラスタリングではサポートされていません。