intra-mart Accel Platform セットアップガイド 第24版 2018-04-01

11.2. intra-mart Accel Platform の分散環境(Resin をクラスタリングせずに構築)

11.2.1. 概要

intra-mart Accel Platform の分散環境を、Resin のクラスタリング機能を利用せずに構築する手順について説明します。

11.2.2. 手順

11.2.2.1. <%Jugglingプロジェクト%/conf/storage-config.xml> の編集

<root-path-name> にストレージのルートパスを設定してください。
このパスは、すべての intra-mart Accel Platform からアクセス可能なディレクトリを指定してください。
詳細は「Storage」を参照してください。

11.2.2.2. <%Jugglingプロジェクト%/resin-web.xml> の編集

使用するデータベースを設定してください。
すべての intra-mart Accel Platform からアクセス可能なデータベースを指定してください。
詳細は「DataSource」を参照してください。

11.2.2.3. <%Jugglingプロジェクト%/conf/data-source-mapping-config.xml> の編集

システムデータベースとテナントデータベースを設定してください。
すべての intra-mart Accel Platform からアクセス可能なデータベースを指定してください。
詳細は「DataSourceマッピングの設定」を参照してください。

11.2.2.4. <%Jugglingプロジェクト%/conf/network-agent-config.xml> の編集

サービス仕様書 分散環境の構築」を参照し、<%Jugglingプロジェクト%/conf/network-agent-config.xml> を編集してください。

11.2.2.5. セッション管理モジュールのインストール

Resin のクラスタリング機能を利用しない場合、Resin によるセッションフェイルオーバーができません。 そのため、「セッション管理モジュール」を利用しセッションフェイルオーバーを実現します。

IM-Juggling より「セッション管理モジュール(モジュールID: jp.co.intra_mart.im_session_store)」「セッション管理 組込Hazelcast連携(モジュールID: jp.co.intra_mart.im_session_store_hazelcast_em)」を選択します。

../../_images/resin_dist_without_clustering_01.png

コラム

「セッション管理モジュール」、「セッション管理 組込Hazelcast連携」は intra-mart Accel Platform 2017 Spring(Portland) を含む以降のバージョンで利用可能です。

コラム

intra-mart Accel Platform 2014 Spring(Granada) から intra-mart Accel Platform 2016 Winter(Olga) までのバージョンをご利用の場合、「セッション管理モジュールのご紹介」内に添付してある「session_store_module.zip」内のユーザモジュールを利用することで、「セッション管理モジュール」「セッション管理 組込Hazelcast連携」機能を代替できます。

11.2.2.6. conf/hazelcast-config.xml の設定

intra-mart Accel Platform セットアップガイド セッション管理モジュール」を参照し、<%Jugglingプロジェクト%/conf/hazelcast-config.xml> を編集します。

11.2.2.7. <%RESIN_HOME%/conf/resin.properties> ファイルの編集

以下の1, 2を修正します。

  1. app_servers に自身のIPアドレスのみを設定
  2. elastic_cloud_enable をコメントアウト

例えば「192.168.0.1」「192.168.0.2」「192.168.0.3」の三台構成の場合、以下のように設定します。

  • 「192.168.0.1」上の <%RESIN_HOME%/conf/resin.properties> ファイル

    app_servers      : 192.168.0.1 # 「192.168.0.1」のみを設定します
    # elastic_cloud_enable : true  # コメントアウトします
    
  • 「192.168.0.2」上の <%RESIN_HOME%/conf/resin.properties> ファイル

    app_servers      : 192.168.0.2 # 「192.168.0.2」のみを設定します
    # elastic_cloud_enable : true  # コメントアウトします
    
  • 「192.168.0.3」上の <%RESIN_HOME%/conf/resin.properties> ファイル

    app_servers      : 192.168.0.3 # 「192.168.0.3」のみを設定します
    # elastic_cloud_enable : true  # コメントアウトします
    

11.2.3. Resin をクラスタリングした際との比較

Resinのクラスタリング」の手順を基にして分散環境を構築した場合との違いについて説明します。

11.2.3.1. デプロイ方法

  • Resin のクラスタリング機能を利用する場合
    トライアドサーバの 1 台に対して war ファイルのデプロイを行う事で、他サーバに war ファイルの内容を自動伝搬する事ができます。
  • Resin のクラスタリング機能を利用しない場合
    自動伝搬は行われないため 1 台 1 台手動でデプロイする必要があります。

コラム

Resin のクラスタリング機能を利用しない場合では 1 台 1 台手動でデプロイする事が可能であるため、システムを停止することなくデプロイすることができます。

11.2.3.2. resin-admin

  • Resin のクラスタリング機能を利用する場合
    何処か 1 つの resin-admin にログインする事で、すべてのサーバ情報を参照できます。
  • Resin のクラスタリング機能を利用しない場合
    それぞれのサーバで resin-admin にログインする必要があります。
    また、ログインしたサーバの情報のみが表示されます。

11.2.3.3. セッションフェイルオーバー

  • Resin のクラスタリング機能を利用する場合
    Resin の機能にてセッションフェイルオーバーができます。
  • Resin のクラスタリング機能を利用しない場合
    「セッション管理モジュール」機能にてセッションフェイルオーバーができます。

コラム

Resin のクラスタリング機能を利用しない場合ではセッション情報を内部データベースに保持しなくなるため、内部データベースが壊れる可能性を大幅に減らすことができます。

11.2.3.4. ログファイル名

  • Resin のクラスタリング機能を利用する場合
    ファイル名「jvm-app-N.log」(N は 0 からサーバ台数 - 1 まで)で出力されます。
  • Resin のクラスタリング機能を利用しない場合
    すべてファイル名「jvm-app-0.log」で出力されます。

11.2.3.5. 起動方法

  • Resin のクラスタリング機能を利用する場合
    サーバ「app-N」(N は 0 からサーバ台数 - 1 まで)で起動します。
  • Resin のクラスタリング機能を利用しない場合
    すべてサーバ「app-0」で起動します。