5 WebLogic Serverクラスタリング

WebLogic Serverにおける高可用性の基礎はクラスタです。WebLogic Serverクラスタは、同時に動作し、連携して高度なスケーラビリティと信頼性を実現するWebLogic Serverインスタンスのグループです。

この章の内容は次のとおりです。

WebLogic Serverクラスタの概要

クラスタを構成するサーバー・インスタンスは、同じマシン上で実行することも、複数のマシンに分散することもできます。クラスタはクライアントからは単一のWebLogic Serverインスタンスのように見えます。クラスタの能力は、既存のマシン上のクラスタにサーバー・インスタンスを追加することによって強化できます。また、新たにサーバー・インスタンスを配置するためのマシンをクラスタに追加することもできます。クラスタ内の各サーバー・インスタンスでは、同じバージョンのWebLogic Serverが動作している必要があります。

クラスタとドメイン間の関係

クラスタは、特定のWebLogicドメインの一部です。ドメインには、1つ以上のWebLogic Serverインスタンスが含まれます。複数のサーバー・インスタンスのあるドメインでは、これらのサーバーのインスタンスは、クラスタ化、非クラスタ化、またはクラスタ化と非クラスタ化の組合せが可能です。

ドメインには、複数のクラスタを構成できます。またドメインには、ドメインにデプロイされるアプリケーション・コンポーネントと、それらのアプリケーション・コンポーネントおよびドメイン内のサーバー・インスタンスが必要とするリソースおよびサービスも含まれます。アプリケーションおよびサーバー・インスタンスで使用されるリソースとサービスの例には、マシン定義、オプションのネットワーク・チャネル、コネクタ、起動クラスなどがあります。

WebLogic Serverインスタンスは、様々な基準によってドメインに分類できます。たとえば、ホストするアプリケーションの論理的な区分、地理的な考慮事項、あるいは管理対象リソースの数や複雑度に基づいてリソースを複数のドメインに割り当てることができます。WebLogicドメインの詳細は、『Oracle WebLogic Serverドメイン構成の理解』「Oracle WebLogic Serverドメインについて」を参照してください。

各ドメイン内で、1つのWebLogic Serverインスタンスが管理サーバーとして機能します。このサーバー・インスタンスでは、ドメイン内のその他のサーバー・インスタンスおよびリソースのすべてを構成、管理、およびモニターします。各管理サーバーでは1つのドメインだけを管理します。ドメインに複数のクラスタが含まれる場合、ドメイン内の各クラスタは同じ管理サーバーによって管理されます。あるクラスタ内のすべてのサーバー・インスタンスは同じドメイン内になければなりません; 1つのクラスタを複数のドメインにまたがって「分割」することはできません。同様に、構成済みのリソースまたはサブシステムを複数のドメインで共有することはできません。

クラスタ化されたWebLogic Serverインスタンスの動作は、フェイルオーバーとロード・バランシングの機能を備えること以外は、クラスタ化されていないインスタンスと同様です。WebLogic Serverインスタンスは、クラスタ化されている場合でも、クラスタ化されていない場合でも、構成に使用するプロセスおよびツールは同じです。ただし、クラスタリングによって可能になるロード・バランシングとフェイルオーバーの効果を実現するためには、クラスタの構成に関する特定のガイドラインに従う必要があります。

CoherenceクラスタとWebLogic Serverクラスタの関係

WebLogic Serverクラスタと同様に、Coherenceクラスタは複数の管理対象Coherenceサーバー・インスタンスで構成されており、連携して機能することにより、データをインメモリーに分散してアプリケーションのスケーラビリティ、可用性およびパフォーマンスを改善します。ただし、Coherenceクラスタは異なるクラスタリング・プロトコルを使用し、WebLogic Serverクラスタとは別に構成されます。

Coherenceクラスタでは、クライアントはローカル・キャッシュ内のデータを扱い、データの分散およびバックアップがクラスタ・メンバー間で自動的に実行されます。

WebLogic Serverドメインには、単一のCoherenceクラスタを含めることができます。1つのCoherenceクラスタには、複数のWebLogic Serverクラスタを関連付けることができます。

Coherenceクラスタの構成と管理の詳細は、Coherenceクラスタの構成と管理Coherenceクラスタの構成と管理に関する項を参照してください。

クラスタリングの利点

クラスタリングにより、スケーラビリティと高可用性の2つの主要な利点が提供されます。WebLogic Serverクラスタの利用によってもたらされる利点には、次のものがあります。
  • スケーラビリティ

    WebLogic Serverクラスタにデプロイされるアプリケーションの能力を、必要に応じて動的に増強することができます。サービスを中断させることなく、つまり、クライアントおよびエンド・ユーザーへの影響なしにアプリケーションを動作させ続けながら、クラスタにサーバー・インスタンスを追加できます。

  • 高可用性

    WebLogic Serverクラスタでは、サーバー・インスタンスで障害が発生してもアプリケーションの処理を継続できます。アプリケーション・コンポーネントのクラスタリングは、そのコンポーネントをクラスタ内の複数のサーバー・インスタンスにデプロイすることによって行います。そのため、あるコンポーネントが動作しているサーバー・インスタンスに障害が発生した場合、同じコンポーネントがデプロイされている別のサーバー・インスタンスでアプリケーションの処理を継続できます。

クラスタの重要な機能

WebLogicクラスタには、その最も重要な利点を可能にする3つの主要な機能として、フェイルオーバー、移行およびロード・バランシングがあります。スケーラビリティと高可用性を実現する主要なクラスタリング機能には、次のものがあります。
  • アプリケーションのフェイルオーバー

    なんらかの理由により、特定の一連の操作を実行しているアプリケーション・コンポーネントが使用できなくなった場合、その操作は、障害の発生したアプリケーション・コンポーネントのコピーによって完了されます。

  • 移行

    WebLogic Serverでは、クラスタ化サーバー・インスタンスを、あるマシンから別のマシンに、自動的にまたは手動で移行できます。移行できる管理対象サーバーは、移行可能なサーバーと呼ばれます。この機能は、高可用性が求められる環境に向けて設計されています。

  • ロード・バランシング

    ロード・バランシングとは、環境内のコンピューティング・リソースおよびネットワーキング・リソース間で、ジョブとそれに関連する通信を均等に分配することです。

クラスタリング可能なオブジェクトの種類

クラスタ化されるアプリケーションまたはアプリケーション・コンポーネントは、クラスタ内の複数のWebLogic Serverインスタンス上で利用可能なものです。どのオブジェクトをクラスタ化できるかを知ることは、ドメイン全体にオブジェクトをどのようにデプロイするかを理解する上で重要です。オブジェクトをクラスタリングすると、そのオブジェクトに対してフェイルオーバーとロード・バランシングが有効になります。クラスタ管理、メンテナンスおよびトラブルシューティングを簡素化するには、オブジェクトを均等にデプロイ、つまり、クラスタ内のすべてのサーバー・インスタンスにデプロイするようにします。

Webアプリケーションは、Enterprise JavaBeans (EJB)、サーブレット、Java Server Pages (JSP)などを含む様々な種類のオブジェクトで構成できます。それぞれのオブジェクトの種類ごとに、制御、呼び出し、およびアプリケーション内部での機能に関連する動作の一意の集合が定義されています。この理由から、クラスタリングをサポートし、またその結果としてロード・バランシングとフェイルオーバーを実現するためにWebLogic Serverで利用される手法は、オブジェクトの種類ごとに異なる可能性があります。WebLogic Serverのデプロイメントでは、次の種類のオブジェクトのクラスタリングが可能です。

  • サーブレット

  • JSP

  • EJB

  • Remote Method Invocation (RMI)オブジェクト

  • Java Messaging Service (JMS)の宛先

  • Coherenceクラスタと管理対象Coherenceサーバー

  • タイマー・サービス

  • バッチ・アプリケーション

動的クラスタについて

動的クラスタは、アプリケーションのリソース・ニーズを満たすように動的にスケール・アップできるサーバー・インスタンスで構成されます。動的クラスタは、指定した数の生成された(動的)サーバー・インスタンスの構成を定義する単一のサーバー・テンプレートを使用します。

動的クラスタを作成すると、動的サーバーが事前構成され、自動的に生成されます。これにより、追加のサーバー容量が必要な場合に動的クラスタ内のサーバー・インスタンスの数を簡単にスケール・アップできます。動的サーバーは、簡単に起動でき、最初に手動で構成してそれらをクラスタに追加する必要はありません。

最初に指定した数のサーバー・インスタンスに追加が必要となった場合、動的クラスタの構成でサーバー・インスタンス(動的)の最大数を増やすか、構成済サーバー・インスタンスを手動で動的クラスタに追加することが可能です。動的サーバー・インスタンスと構成済サーバー・インスタンスの両方が含まれた動的クラスタを複合クラスタと呼びます。

次の表に、動的クラスタに関連する用語の定義を示します。

用語 定義

動的クラスタ

1つの共有サーバー・テンプレートに基づいた生成済(動的)サーバー・インスタンスを1つ以上備えたクラスタ。

構成済クラスタ

手動で構成し、各サーバー・インスタンスを追加するクラスタ。

動的サーバー

動的クラスタの作成時にWebLogic Serverで生成されるサーバー・インスタンス。構成は、共有サーバー・テンプレートに基づきます。

構成済サーバー

属性を手動で構成するサーバー・インスタンス。

複合クラスタ

動的サーバー・インスタンスと構成済サーバー・インスタンスの両方を備えたクラスタ。

サーバー・テンプレート

一連のサーバー・インスタンスに割り当てることができ、テンプレートの構成を継承する、デフォルト以外の共通の設定と属性が含まれたプロトタイプ・サーバーの定義。動的クラスタでは、サーバー・テンプレートを使用して動的サーバーを生成します。Oracle WebLogic Serverドメイン構成の理解サーバー・テンプレートを参照してください。

動的クラスタの詳細は、Oracle WebLogic Serverクラスタの管理動的クラスタを参照してください。

WebLogic Serverでのクラスタリングのためのロードマップ

WebLogic Serverのドキュメント・セットには、WebLogicクラスタの構成および管理方法の理解に役立つ、いくつかの入門的なトピック、手順的なトピック、リファレンス的なトピックがサンプルとともに含まれています。

表5-1 WebLogic Serverでのクラスタリングのためのロードマップ

主要なタスク サブタスクと追加情報

WebLogic Serverクラスタリングについてもっとよく知る

クラスタの構成

動的クラスタの拡張度の構成

クラスタでのロード・バランシングとフェイルオーバーについてもっとよく知る

クラスタ内のサーバーとサービスの移行

トラブルシューティング

リファレンス