CData Sync でクラスタ構成を構築



クラスタ構成を利用することで、複数のCData Sync インスタンスを同じ設定で動作させ、同じジョブを処理させることができます。処理負荷はクラスタ構成されたSync インスタンス間で垂直分散させることができ、スケール性および可用性を向上させます。

概要

Sync でサポートされる高可用性およびフェイルオーバー機能を活用するには、同じサーバーファーム(同じクラスタ)内の複数システムにSync をインストールしてください。 クラスタ構成用に設定することで、同一サーバーファーム内の各Sync のインスタンスが同じアプリケーション設定を使用して、各サーバー間でジョブ実行を分散します

その結果、Sync の複数インスタンスは単一インスタンスのように振舞い、インスタンスが1つ停止してもクラスタ自体のパフォーマンスを大きく損なうことはありません。

Sync をクラスタ構成用に設定

クラスタ内の各ノードにSync がインストールされたら、各インスタンスを同じアプリケーションデータベース およびアプリケーションデータディレクトリ を使用するように設定してください。データベースとディレクトリの設定が完了したら、設定ページのAdvanced タブに移動して、クラスタモードを有効化をTrue に設定してください。

アプリケーションデータベース

Sync はアプリケーションデータ(ジョブ、接続情報など)およびログを保存するためにデータベースを使用します。Sync の各インスタンスは、すべてのジョブ情報にアクセスできるよう同じアプリケーションデータベースを使用するように設定してください。

Windows エディション

Windows エディションでアプリケーションデータベースを設定するには、AppDb 環境変数を適切な接続文字列およびプロバイダーを含むよう設定してください。この設定を行うには、インストール場所の'www' フォルダ内にあるWeb.Config ファイルを編集します。このファイル内に、コメントアウトされたconnectionStrings というXML 要素があります。次にこの要素の例を記載します。

connectionStrings>
  <add 
    name="AppDb" 
    connectionString="server=SQLSERVER_LOCATION;database=DATABASE_NAME;uid=USER_ID;password=PASSWORD;" 
    providerName="System.Data.SqlClient"
  />
</connectionStrings

このconnectionStrings 要素をアンコメントして、'connectionString' および'providerName' 属性をご利用のデータベースに対応する適切な接続プロパティに変更してください。Sync がこの接続文字列で接続を確立できると、このデータベースがアプリケーションデータベースとして使用されます。

Sync は次のプロバイダーをサポートします。

  • System.Data.SqlClient
  • System.Data.CData.MySQL
  • System.Data.CData.PostgreSQL

Java エディション

Java エディションは2つの方法で設定できます。

  • Sync に含まれるJetty サーバーを使う方法
  • 外部のサーブレットを使う方法
組み込みJava サーバー

組み込みJetty サーバーでJava エディションを使用する場合、アプリケーションデータベースはインストール場所にあるsync.xml ファイル内で設定できます。このサーバー設定ファイル内で、APP_DB 環境変数を、ご利用のデータベース用の適切な接続パラメータを含むJDBC 接続文字列に設定します。以下は例です。

<Call name="setInitParameter">
  <Arg>APP_DB</Arg>
  <Arg>jdbc:mysql:Server=MySQLServer;Port=3306;Database=mysql;User=user;Password=password</Arg>
</Call>

Sync がAPP_DB 接続文字列で接続を確立できると、このデータベースがアプリケーションデータベースとして使用されます。

外部Java サーバー

外部のサーブレットでJava エディションを使用する場合、アプリケーションデータベースの設定内容の詳細は使用するサーブレットに依存します。特定のサーブレットに適した構文を使用して、サーバーの設定に次の方法のいずれかを使用してください。

  • JNDI データソースを定義して、ターゲットデータベース用の接続プロパティを含むようにする。
  • APP_DB 環境変数をJDBC 接続文字列に設定する。

Sync がJNDI データソースまたはAPP_DB 接続文字列を使用してデータベースに接続できれば、Sync はそのデータベースをアプリケーションデータベースとして使用します。

アプリケーションデータディレクトリ

Sync はすべての設定データおよびアプリケーションデータを、ディスク上のフォルダであるデータディレクトリに保存します。クラスタ構成を使用する場合には、Sync の各インスタンスを同じデータディレクトリを使用するよう設定してください。これによって、すべてのインスタンスが同じファイルを処理して同じ設定を使うようになります。

Windows エディション

Windows エディションでアプリケーションデータディレクトリを設定するには、AppDirectory 環境変数をディレクトリを作成する場所のパスに設定してください。この設定をするには、インストール場所の'www' フォルダ内にあるWeb.Config ファイルを変更します。このファイルに、コメントアウトされたAppDirectory というXML 要素があります。その配下に、カスタムデータディレクトリのパスを指定できるappSettings 要素があります。次はappSettings 要素の例です。

appSettings>
  <add key="AppDirectory" value="C:\\directory\\subdirectory\\subdirectory\\" />
</appSettings

このappSettings 要素をアンコメントして、AppDirectory のキー値をデータディレクトリ用の適切なパスに設定します。Sync がパスを発見でき、そのパスへの読み書きの権限を持っていれば、Sync はこのディレクトリにデータフォルダを作成します。

組み込みJava サーバー

組み込みJetty サーバーでJava エディションを使用する場合、アプリケーションデータベースはインストール場所にあるsync.xml ファイルに存在します。このサーバー設定ファイル内で、AppDirectory 環境変数をご利用のディレクトリパスに設定してください。次の例は、データディレクトリをマウントしたドライブ上の共有フォルダに指定した場合の例です。

<Call name="setInitParameter">
  <Arg>AppDirectory</Arg>
  <Arg>/mnt/shared/sync</Arg>
</Call>

Sync がパスを発見でき、そのパスへの読み書きの権限を持っていれば、Sync はこのディレクトリにデータフォルダを作成します。

外部Java サーバー

外部のサーブレットでJava エディションを使用する場合、アプリケーションデータベースの設定内容の詳細は使用するサーブレットに依存します。特定のサーブレットに適した構文を使用して、AppDirectory 環境変数をご利用のディレクトリパスに設定してください。

Sync がパスを発見でき、そのパスへの読み書きの権限を持っていれば、Sync はこのディレクトリにデータフォルダを作成します。