Web アプリケーションを Oracle Weblogic Server 11 から Websphere 8.5 に移植します。私が見つけた 1 つの問題は、WLS アプリケーションが「マルチ データ ソース」と呼ばれる機能を使用していることです。この機能では、複数の JDBC 接続を単一のコンポーネントとして使用できます (したがって、データベースへのより堅牢なアクセスを提供します)。
Websphere またはそれをエミュレートするために使用できる回避策にも同等のソリューションはありますか? どうもありがとう
ルイ
1 に答える
WLS のドキュメントを確認しています。
マルチ データ ソースは、データ ソースのプールと考えることができます。マルチ データ ソースは、冗長データベースや Oracle Real Application Clusters (RAC) などの高可用性データベース システムのノード間のフェイルオーバーまたはロード バランシングに最適です。
私の知る限り、WAS にはそのような施設はありません。それでも、負荷分散された JDBC 接続文字列を使用して同じ結果を得ることができます。Oracle RAC の例は次のようになります ( Oracle のドキュメントを引用)。
jdbc:oracle:thin@(DESCRIPTION=
(LOAD_BALANCE=on)
(ADDRESS=(PROTOCOL=TCP)(HOST=racnode1) (PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=racnode2) (PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=service_name)))
実行する必要があるのは、WAS で単一の通常のデータソースを好みのスコープで定義し、負荷分散された JDBC 接続文字列を上記のように構成することです (ここのサンプルでは 2 つの RAC ノードの負荷を分散しています)。
上記のように構成された負荷分散機能は、データベース ベンダーが提供する JDBC ドライバーによって提供されるため、別のデータベースを使用している場合は、データベースのドキュメントでサポートを確認する必要があります。
編集:私の答えを修正する必要があります。私はこの機能に出くわしました。これは確かに WAS8 の新機能であり、リソース ワークロード ルーティングと呼ばれます。以下は説明です。
リソース ワークロード ルーティングには、データ ソースと接続ファクトリのフェールオーバーと、事前定義された代替リソースまたはバックアップ リソースからのその後のフェールバックが含まれます。この機能により、アプリケーションは、データベース障害などのリソースの停止から簡単に回復できます。別のリソースや構成情報を埋め込む必要はありません。リソースのフェイルオーバーとフェイルバックの柔軟な構成オプションを調整して、環境固有のニーズとアプリケーションのニーズを満たすことができます。
カスタム プロパティをデータソースに追加するだけで、この新しい機能を簡単に構成できます。この機能の主なプロパティは次のとおりです。
alternateResourceJNDIName
Values: String value containing a direct JNDI name.
Description: An alternate connection factory or data source resource
should be like the primary resource. Provide the JNDI name of the
alternate resource to enable the fail over feature.