intra-mart Accel Platform 設定ファイルリファレンス 第33版 2023-10-01

Hazelcast設定

概要

intra-mart Accel Platformに組み込んでセッション管理に利用する Hazelcast の設定を行います。

コラム

Hazelcast の仕様の詳細については、以下を参照してください。リンク先は 2017年4月1日 時点で情報を確認しています。

「Hazelcast Reference Manual Version: 3.7.5」
モジュール im_session_store_hazelcast_em
フォーマットファイル(xsd) WEB-INF/schema/hazelcast-config.xsd
設定場所 WEB-INF/conf/hazelcast-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<hazelcast-config
  xmlns="http://intra-mart.co.jp/session-store/hazelcast-config"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://intra-mart.co.jp/session-store/hazelcast-config ../schema/hazelcast-config.xsd">

  <base>
    <id>im_session_store</id>
  </base>

  <network>
    <port port-count="2">5701</port>
    <join>
      <TCP>
        <member-list>
          <member>127.0.0.1</member>
        </member-list>
      </TCP>
    </join>
  </network>

  <store>
    <max-memory-size>1024</max-memory-size>
    <persistence enabled="false">
      <jndi-name>java:comp/env/jdbc/iap-session</jndi-name>
    </persistence>
  </store>

</hazelcast-config>

リファレンス

クラスタグループ設定

タグ名 base
クラスタを構成するグループを設定します。

【設定項目】

<hazelcast-config>
  <base>
    ...
  </base>
</hazelcast-config>

必須項目 ×
複数設定 ×
設定値・設定する内容 クラスタグループを設定します。
単位・型 なし
省略時のデフォルト値 なし
親タグ hazelcast-config

ID設定

タグ名 id
クラスタを構成するグループの一意のIDです。
Webアプリケーション毎に一意となるIDを設定してください。

【設定項目】

<hazelcast-config>
  <base>
    <id>im_session_store</id>
  </base>
</hazelcast-config>

必須項目 ×
複数設定 ×
設定値・設定する内容 クラスタグループのIDを設定します。
単位・型 文字列
省略時のデフォルト値 im_session_store
親タグ base

通信スレッド数設定

タグ名 io-thread-count
クラスタグループ内の通信に利用するスレッド数を設定します。
ここで設定した値と同数のスレッドが、読み込み用、および書き込み用にそれぞれ利用されます。
Hazelcast における 設定値 hazelcast.io.thread.count に相当します。

【設定項目】

<hazelcast-config>
  <base>
    <io-thread-count>3</io-thread-count>
  </base>
</hazelcast-config>

必須項目 ×
複数設定 ×
設定値・設定する内容 クラスタグループ内の通信に利用するスレッド数を設定します。
単位・型 数値(正の整数)
省略時のデフォルト値 3
親タグ base

ネットワーク構成設定

タグ名 network
クラスタグループのネットワーク構成に関する設定を行います。

【設定項目】

<hazelcast-config>
  <network>
    ...
  </network>
</hazelcast-config>

必須項目
複数設定 ×
設定値・設定する内容
port クラスタグループ内の通信に利用するポート番号を設定します。
join クラスタグループメンバの発見方法を設定します。
単位・型 なし
省略時のデフォルト値 なし
親タグ hazelcast-config

ポート設定

タグ名 port
クラスタグループ内の通信に利用するポート番号を設定します。

【設定項目】

<hazelcast-config>
  <network>
    <port port-count="2">5701</port>
  </network>
</hazelcast-config>

必須項目 ×
複数設定 ×
設定値・設定する内容
利用するポート番号の最小値を設定します。
このポート番号から、 port-count 属性の値を加えた番号までの範囲で利用可能なポートを利用します。
単位・型 数値(ポート番号)
省略時のデフォルト値 5701
親タグ network

【属性】

属性名 説明 必須 デフォルト値
port-count 利用するポート番号の範囲を指定します。 × 100

クラスタグループ構成方法設定

タグ名 join
クラスタグループを構成する方法を設定します。
子要素に <UDP> または <TCP> のいずれか片方を記述してください。

【設定項目】

<hazelcast-config>
  <network>
    <join>
      ...
    </join>
  </network>
</hazelcast-config>

必須項目
複数設定 ×
設定値・設定する内容
UDP マルチキャスト通信でメンバを発見する設定を行います。
TCP ユニキャスト通信でメンバを特定する設定を行います。
単位・型 なし
省略時のデフォルト値 なし
親タグ network

マルチキャスト通信設定

タグ名 UDP
マルチキャスト通信でメンバを発見する設定を行います。

【設定項目】

<hazelcast-config>
  <network>
    <join>
      <UDP>
        ...
      </UDP>
    </join>
  </network>
</hazelcast-config>

必須項目 ×
複数設定 ×
設定値・設定する内容
multicast-group マルチキャスト通信に利用するIPアドレスを設定します。
multicast-port マルチキャスト通信を送受信するポート番号を設定します。
単位・型 なし
省略時のデフォルト値 なし
親タグ join

コラム

この設定を行った場合、ユニキャストの設定(TCP)は行えません。

マルチキャストアドレス設定

タグ名 multicast-group
マルチキャスト通信に利用するIPアドレスを設定します。

【設定項目】

<hazelcast-config>
  <network>
    <join>
      <UDP>
        <multicast-group>224.2.2.3</multicast-group>
        ...
      </UDP>
    </join>
  </network>
</hazelcast-config>

必須項目 ×
複数設定 ×
設定値・設定する内容
マルチキャスト通信に利用するIPアドレスを設定します。
224.0.0.0 から 239.255.255.255 の範囲内で指定してください。
単位・型 IPアドレス
省略時のデフォルト値 224.2.2.3
親タグ UDP

マルチキャスト通信ポート設定

タグ名 multicast-port
マルチキャスト通信を送受信するポート番号を設定します。

【設定項目】

<hazelcast-config>
  <network>
    <join>
      <UDP>
        <multicast-port>54327</multicast-port>
        ...
      </UDP>
    </join>
  </network>
</hazelcast-config>

必須項目 ×
複数設定 ×
設定値・設定する内容
マルチキャスト通信を送受信するポート番号を設定します。
単位・型 数値(ポート番号)
省略時のデフォルト値 54327
親タグ UDP

ユニキャスト通信設定

タグ名 TCP
ユニキャスト通信でメンバを特定する設定を行います。

【設定項目】

<hazelcast-config>
  <network>
    <join>
      <TCP>
        ...
      </TCP>
    </join>
  </network>
</hazelcast-config>

必須項目 ×
複数設定 ×
設定値・設定する内容
member-list クラスタグループのメンバ情報を列挙します。
単位・型 なし
省略時のデフォルト値 なし
親タグ join

コラム

この設定を行った場合、マルチキャストの設定(UDP)は行えません。

メンバ設定

タグ名 member-list
クラスタグループのメンバ情報を列挙します。

【設定項目】

<hazelcast-config>
  <network>
    <join>
      <TCP>
        <member-list>
          ...
        </member-list>
      </TCP>
    </join>
  </network>
</hazelcast-config>

必須項目 ×
複数設定 ×
設定値・設定する内容
member メンバのIPアドレスを設定します。
単位・型 なし
省略時のデフォルト値 なし
親タグ TCP

メンバアドレス設定

タグ名 member
メンバのIPアドレスを設定します。

【設定項目】

<hazelcast-config>
  <network>
    <join>
      <TCP>
        <member-list>
          <member>192.168.0.1</member>
          <member>192.168.0.2</member>
          ...
        </member-list>
      </TCP>
    </join>
  </network>
</hazelcast-config>

必須項目 ×
複数設定
設定値・設定する内容 メンバのIPアドレスを設定します。
単位・型 IPアドレス
省略時のデフォルト値 127.0.0.1
親タグ member-list

セッションストア設定

タグ名 store
セッションストアに関する設定を行います。

【設定項目】

<hazelcast-config>
  <store>
    ...
  </store>
</hazelcast-config>

必須項目 ×
複数設定 ×
設定値・設定する内容
max-memory-size セッションストアのメモリサイズを設定します。
persistence セッションの永続化について設定します。
単位・型 なし
省略時のデフォルト値 なし
親タグ hazelcast-config

セッションストアメモリサイズ設定

タグ名 max-memory-size
セッションストアのメモリサイズを設定します。

【設定項目】

<hazelcast-config>
  <store>
    <max-memory-size>
      ...
    </max-memory-size>
  </store>
</hazelcast-config>

必須項目 ×
複数設定 ×
設定値・設定する内容 セッションストアのメモリサイズを設定します。
単位・型 MB(メガバイト)
省略時のデフォルト値 1024
親タグ store

コラム

メモリサイズの算出方法に関しては「intra-mart Accel Platform セットアップガイド」-「セッションストアメモリサイズの計算式」を参照してください。

セッションストア永続化設定

タグ名 persistence
セッションの永続化について設定します。

【設定項目】

<hazelcast-config>
  <store>
    <persistence enabled="true">
      ...
    </persistence>
  </store>
</hazelcast-config>

必須項目 ×
複数設定 ×
設定値・設定する内容
jndi-name データソースのJNDI名を設定します。
access-user 永続化情報に記録するユーザ名を設定します。
単位・型 なし
省略時のデフォルト値 なし
親タグ store

【属性】

属性名 説明 必須 デフォルト値
enabled セッションの永続化を行うかどうかを設定します。 × false

注意

セッションの永続化を有効にしていない場合でも、フェイルオーバーを行うことはできます。
フェイルオーバーに加えて永続化を行いたい場合のみ、この設定を行ってください。
永続化を行う上ではいくつかの注意点があります。詳細は「intra-mart Accel Platform セットアップガイド」-「セッション情報の永続化を行う場合」の注意事項を参照してください。

データソース設定

タグ名 jndi-name
データソースのJNDI名を設定します。

【設定項目】

<hazelcast-config>
  <store>
    <persistence enabled="true">
      <jndi-name>java:comp/env/jdbc/iap-session</jndi-name>
      ...
    </persistence>
  </store>
</hazelcast-config>

必須項目 ×
複数設定 ×
設定値・設定する内容 データソースのJNDI名を設定します。
単位・型 文字列
省略時のデフォルト値 なし
親タグ persistence

永続化情報記録ユーザ設定

タグ名 access-user
永続化情報に記録するユーザ名を設定します。

【設定項目】

<hazelcast-config>
  <store>
    <persistence enabled="true">
      <access-user>im_http_session</access-user>
      ...
    </persistence>
  </store>
</hazelcast-config>

必須項目 ×
複数設定 ×
設定値・設定する内容 永続化情報に記録するユーザ名を設定します。
単位・型 文字列
省略時のデフォルト値 im_http_session
親タグ persistence