ヘッダーをスキップ
Oracle® Complex Event Processing管理者ガイド
11g リリース1 (11.1.1)
B61653-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

5 マルチサーバー・ドメインの概要

この章では、次の内容について説明します。

5.1 Oracle CEPマルチサーバー・ドメインの管理の概要

Oracle CEPマルチサーバー・ドメイン(またはクラスタ)は、管理上の目的で論理的に接続され、共有のユーザー・データグラム・プロトコル(UDP)マルチキャスト・アドレスおよびポートを使用して物理的に接続される、1つ以上のサーバーを追加できるドメインです。Oracle CEPマルチサーバー・ドメインのすべてのサーバーは、ドメイン内のその他すべてのサーバーを認識します。また、ドメイン内のデプロイメントに変更を加えるためのアクセス・ポイントとして、いずれか1つのサーバーを使用できます。

マルチサーバー・インフラストラクチャの管理はドメイン・レベルで実行されます。このため、サーバー障害、起動、または再起動は、マルチサーバー・ドメインのどのメンバーでも検出されます。マルチサーバー・ドメインの各メンバーは、マルチサーバー・インフラストラクチャで使用されるドメイン・メンバーシップについて、一貫性のある一致した認識を保持します。

マルチサーバー・ドメインでサーバーを適切に構成するには、そのサーバーは、同じマルチキャスト・アドレスとポート、および同じドメイン名を使用して構成する必要があります。同じマルチキャスト・アドレスおよびポートを使用し、異なるドメイン名を使用してサーバーを構成するとエラーになります。

マルチサーバー・ドメインのデフォルト・グループにデプロイ済アプリケーションは、そのドメインのすべてのサーバーに均一にデプロイされるので、すべてのサーバーにはアプリケーションで必要となる適切な構成リソースがある必要があります。

Oracle CEPでは、次のクラスタリング・システムをサポートします。

また、この章では次の内容についても説明します。

詳細は、次を参照してください:

5.1.1 Oracle Coherenceクラスタリング

Oracle Coherence: 信頼のおけるスケーラビリティの高いピア・ツー・ピアのクラスタリング・プロトコル上で、複製および配布した(パーティション化した)データの管理サービスを行います。Oracle Coherenceでは単一点障害がなく、サーバーが正常に動作しなくなったときやネットワークから切断されたときは、クラスタ・データの管理サービスを自動的かつ透過的にフェイルオーバーして再配布します。新しいサーバーが追加されたとき、または障害が発生したサーバーを再起動するときは、クラスタを自動的に接続し、Oracle Coherenceがサービスをフェイルバックして、そのクラスタの負荷を透過的に再分配します。


注意:

Oracle CEPでOracle Coherenceを使用する前に、Coherence Enterprise Edition、Coherence Grid Edition、またはOracle WebLogic Application GridなどのOracle Coherenceの有効なライセンスを取得する必要があります。Oracle Coherenceの詳細は、http://www.oracle.com/technology/products/coherence/index.htmlを参照してください。

Oracle Coherenceを使用すると、Oracle CEPの高可用性とサービス品質オプションを利用できます。

詳細は、次を参照してください:

5.1.2 Oracle CEPネイティブ・クラスタリング

Oracle CEPネイティブ・クラスタリング: TOTEMに基づいてネイティブ・クラスタリング実装を行います。

Oracle CEPネイティブ・クラスタリングを使用する場合、Oracle CEPの高可用性とサービス品質オプションを利用できません。

詳細は、7.1項「Oracle CEPネイティブ・クラスタリングを使用したOracle CEPマルチサーバー・ドメインの作成」を参照してください。

5.2 グループ

マルチサーバー・ドメインへのデプロイメントおよびマルチサーバー・ドメインの管理をドメインよりも細かいレベルでサポートするために、Oracle CEPではグループという概念を取り入れています。グループは1つ以上のサーバーの集まりで、ドメイン内で固有の名前を持ちます。Oracle CEPドメイン内では、構成可能なグループ・メンバーシップを持つ任意の数のグループを共存させることができます。1つのサーバーが複数のグループのメンバーになっている場合があります。ただし、通常、この情報はユーザーからは意識されていません。

マルチサーバー・ドメインにアプリケーションをデプロイするときは、特定のグループにデプロイします。任意のグループにデプロイされるアプリケーションの名前は、ドメイン内で一意である必要があります。

マルチサーバー・ドメインのグループにデプロイ済アプリケーションは、そのグループのすべてのサーバーに均一にデプロイされるので、すべてのサーバーにはアプリケーションで必要となる適切な構成リソースがある必要があります。

サーバーにデプロイされるアプリケーションは、同じドメイン内の別のサーバーからアンインストールできます。

次の定義済のデプロイメント・グループは必ず存在します。

または、カスタム・デプロイメント・グループを作成できます(5.2.3項「カスタム・デプロイメント・グループ」を参照してください)。


注意:

Oracle CEPの高可用性アプリケーションをデプロイする場合、スケーラビリティが必要なときは、Oracle CEP高可用性通知グループを作成する必要があります。詳細は、Eclipse用Oracle CEP開発者ガイドのデプロイメント・グループおよび通知グループに関する項を参照してください。

5.2.1 シングルトン・サーバー・デプロイメント・グループ

このグループはローカル・サーバーのみが含まれます。これは、このグループのメンバーシップがアクセス元のサーバーに依存していることを意味します。このグループは、デプロイメントを単一サーバーに固定するために使用できます。

詳細は、6.1.1項「Oracle Coherenceを使用したデフォルト・グループによるOracle CEPマルチサーバー・ドメインの作成方法」を参照してください。

5.2.2 ドメイン・デプロイメント・グループ

このグループはドメインの有効なすべてのメンバーが含まれています。メンバーシップは自動管理され、ユーザーが変更することはできません。

ドメイン名は、Oracle CEPサーバーのconfig.xmlファイルのdomain要素によって決定されます。たとえば、次に示すconfig.xmlファイルの場合、ドメインにはmydomainという名前が付けられます。

<domain>
    <name>mydomain</name>
</domain>

デフォルト名は、WLEventServerDomainです。

詳細は、6.1.1項「Oracle Coherenceを使用したデフォルト・グループによるOracle CEPマルチサーバー・ドメインの作成方法」を参照してください。

5.2.3 カスタム・デプロイメント・グループ

マルチサーバー・ドメインで均一なサーバーの集まり全体にアプリケーション・ロジックを簡単にレプリケートできない場合があります。様々な価格設定エンジンの提示価格から最適価格を判定するアプリケーションや、値の位置がしきい値を超えた場合にアラートを送信するアプリケーションは、このタイプのアプリケーションの例です。このような場合、アプリケーションは冪等ではなく、1回だけ値を算出したり、単一のイベントを送信したりする必要があります。モニター・アプリケーションやHTTP pub-subサーバーなど、その他の場合は、アプリケーションはシングルトンの性質を持ちます。

より複雑な例として、次の2つのアプリケーションを使用するドメインがあるとします。strategiesアプリケーションでは複数の方法を使用してデリバティブの様々な価格を計算し、selectorアプリケーションに計算結果を送信します。selectorアプリケーションではstrategiesアプリケーションの結果から提示される様々な選択肢から最適価格を選択します。フォールト・トレランスを実現するためにstrategiesアプリケーションをレプリケートできます。しかし、selectorアプリケーションは、最適価格を決定するために状態が保持される必要があります。そのため、selectorアプリケーションは双方向ではレプリケートできません。

完全に均一ではない複数のサーバーをドメインでサポートされるようにするには、カスタム・グループを作成してドメインを構成します。

マルチサーバー・ドメインのカスタム・グループにデプロイ済アプリケーションは、そのグループのすべてのサーバーに均一にデプロイされるので、すべてのサーバーにはアプリケーションで必要となる適切な構成リソースがある必要があります。

詳細は、6.1.2項「Oracle Coherenceを使用したカスタム・グループによるOracle CEPマルチサーバー・ドメインの作成方法」を参照してください。

5.3 マルチサーバーの通知およびメッセージング

アダプタおよびイベントBeanの実装において高可用性(HA)と同等の機能を実現するために、Oracle CEPではグループ・レベルおよびサーバー・レベルの両方で、数多くの通知APIおよびメッセージングAPIを提供しています。これらのAPIを使用して、管理者による意図的な変更またはサーバー障害のためにグループまたはドメイン・メンバーシップが変更された場合に通知を受け取るように、サーバーを構成できます。同様に、これらのAPIを使用して個々のグループおよびドメインの両方にメッセージを送信できます。

Oracle CEPの高可用性オプションを使用するようにアプリケーションを構成する場合は、プライマリOracle CEPサーバーでは、Oracle Coherenceを使用してセカンダリ・サーバーと通信し、セカンダリ・サーバーにプライマリ・サーバーのイベント処理の進行状況の最新情報を送信します。

安全に通信できるようにマルチサーバー・ドメインで複数のOracle CEPサーバーを構成できます。

詳細は、次を参照してください:

5.4 マルチサーバー・ドメインのディレクトリ構造

Oracle CEPドメインのサーバーは単一のディレクトリにファイルを格納します。通常、マルチ・サーバー・ドメイン内のサーバーのディレクトリは、ドメイン・ディレクトリのサブディレクトリです。また、サーバー名とドメイン名はそれぞれ、サーバー・ディレクトリ名とドメイン・ディレクトリ名に対応します。これは単に一般的な構造であり必須ではありませんが、わかりやすさと一貫性を保つために、この方法でドメインを設定することをお勧めします。マルチ・サーバー・ドメインのサーバーが別々のコンピュータに配置されている場合も、わかりやすさと一貫性を保つために、両方のコンピュータにディレクトリ構造をレプリケートすることをお勧めします。

図5-1に、3つのサーバーがあるマルチサーバー・ドメイン・ディレクトリを示しています。

図5-1 マルチサーバー・ドメインのディレクトリ構造

図5-1の説明が続きます
「図5-1 マルチサーバー・ドメインのディレクトリ構造」の説明

myServer1構成ファイルのスニペットでは、ドメイン・ディレクトリとドメイン・オブジェクトが同じ名前で構成され、サーバー・ディレクトリとサーバー名が同じ名前で構成されています。ドメイン・ディレクトリは、Oracle CEPドメインのデフォルトの場所であるORACLE_CEP_HOME/user_projects/domainsディレクトリにあります。

5.5 cluster要素の子要素の順序

config.xmlファイルのcluster要素の子要素の順序は重要です。間違った順序で要素を含まれた場合、エラーが発生する可能性があります。次のリストは、子要素をリストする順序を示しています。

cluster要素の説明を含むconfig.xmlファイルの完全なXSDスキーマの詳細は、Eclipse用Oracle CEP開発者ガイドのサーバー構成XSDスキーマ: wlevs_server_config.xsdに関する項を参照してください。

5.6 高可用性およびマルチサーバー・ドメイン

マルチサーバー・ドメインに対してOracle Coherenceクラスタリングを使用する場合、Oracle CEPの高可用性とサービス品質オプションを利用できます。Oracle CEPネイティブ・クラスタリングを使用する場合、これらのオプションはサポートされていません。

詳細は、Eclipse用Oracle CEP開発者ガイドの高可用性に関する項を参照してください。

5.7 スケーラビリティおよびマルチサーバー・ドメイン

Oracle CoherenceまたはOracle CEPネイティブ・クラスタリングを使用する場合、Oracle CEPのスケーラビリティとサービス品質オプションを利用できます。

詳細は、Eclipse用Oracle CEP開発者ガイドのスケーラビリティに関する項を参照してください。

5.8 次のステップ

独自のOracle CEPマルチサーバー・ドメインを作成した後、1.5項「Oracle CEPサーバーの管理タスクの理解」で説明されている管理タスクを参照してください。

たとえば、次の操作を実行できます。