第9章 Data Grid Server リファレンス
9.1. Data Grid Server
Data Grid サーバーは、データへの高速で信頼性の高い安全なアクセスを提供します。このリリースのサーバーは、以前のバージョンとオファーを改善しています。
- 既存の機能 (設定など) の重複を最小限に抑えた小さなコードベース。
- 埋め込み可能: サーバーは、単一設定とクラスター設定の両方で簡単にテストできるようにする必要があります。
- RESTful な管理機能。
- ApacheLog4j2 を使用したロギング。
- WildFlyElytronSPI によるセキュリティー。
9.1.1. ディレクトリー構造
サーバーディストリビューションのディレクトリー構造は次のとおりです。
-
/bin
: サーバーを起動してユーザーを作成/変更するためのスクリプト。 -
/boot
: サーバーを起動するためのJAR
ファイル。 -
/docs
: 例とコンポーネントライセンス。 -
/lib
: サーバーJAR
ファイル。 /server
: デフォルトのサーバーインスタンスフォルダー。-
/server/conf
: 設定ファイル -
/server/data
: コンテナー名別に編成されるデータファイル。 -
/server/lib
: カスタムフィルター、リスナーなどの拡張JAR
ファイル。 -
/server/log
: サーバーのログファイル。
-
9.1.2. Server Paths
サーバーは、以下の パス を使用します。
-
Infinispan.server.home
はデフォルトで、サーバーのディストリビューションが含まれるディレクトリーに設定されます。 infinispan.server.root
には、Data Grid サーバーの設定とデータが含まれ、デフォルトではinfinispan.server.home
の下のserver
ディレクトリーになります。
複数のルートが同じディレクトリーまたは異なるディレクトリーに存在させることができます。複数のサーバーインスタンスを起動するには、コマンドライン引数を使用してinfinispan.server.root
へのパスを指定します。注記サーバーが起動すると、
infinispan.server.root
がロックされ、複数のサーバーインスタンスによる同時使用を回避します。-
infinispan.server.configuration の
デフォルトはinfinispan.xml
で、これはinfinispan.server.root
の下のconf
フォルダーにあります。
9.1.3. コマンド引数
server.sh|bat
起動スクリプトには、情報の取得、サーバーランタイム環境の設定に使用できる引数が含まれます。
利用可能なコマンド引数を表示するには、以下のように --help
または -h
オプションを追加します。
$ bin/server.sh -h
9.1.4. ロギング設定
server/conf
ディレクトリーの log4j2.xml
を使用してロギングを設定します。
9.1.5. 設定
サーバーの設定は、標準の Data Grid 設定を以下のサーバー固有の要素で拡張します。
-
security
はエンドポイントで利用可能なセキュリティーレルムを設定します。 -
cache-container
複数のコンテナーを設定し、名前で区別することができます。 -
endpoints
には、有効なエンドポイントコネクター (hotrod、rest など) が一覧表示されます。 -
socket-bindings
はソケットバインディングを一覧表示します。
以下は、サーバー設定の例です。
<infinispan xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:infinispan:config:10.1 https://infinispan.org/schemas/infinispan-config-10.1.xsd urn:infinispan:server:10.1 https://infinispan.org/schemas/infinispan-server-10.1.xsd" xmlns="urn:infinispan:config:10.1" xmlns:server="urn:infinispan:server:10.1"> <cache-container default-cache="default" statistics="false"> <transport cluster="${infinispan.cluster.name}" stack="udp"/> <global-state/> <distributed-cache name="default"/> </cache-container> <server xmlns="urn:infinispan:server:10.1"> <interfaces> <interface name="public"> <loopback/> </interface> <interface name="admin"> <loopback/> </interface> </interfaces> <socket-bindings default-interface="public" port-offset="${infinispan.socket.binding.port-offset:0}"> <socket-binding name="hotrod" port="11222"/> <socket-binding name="rest" port="8080"/> <socket-binding name="memcached" port="11221"/> <socket-binding name="admin" port="9990" interface="admin"/> </socket-bindings> <security> <security-realms> <security-realm name="ManagementRealm"> <properties-realm groups-attribute="Roles"> <user-properties path="mgmt-users.properties" relative-to="infinispan.server.config.dir" plain-text="true"/> <group-properties path="mgmt-groups.properties" relative-to="infinispan.server.config.dir" /> </properties-realm> </security-realm> <security-realm name="PublicRealm"> <properties-realm groups-attribute="Roles"> <user-properties path="public-users.properties" relative-to="infinispan.server.config.dir" plain-text="true"/> <group-properties path="public-groups.properties" relative-to="infinispan.server.config.dir" /> </properties-realm> <server-identities> <ssl> <keystore path="application.keystore" relative-to="infinispan.server.config.dir" keystore-password="password" alias="server" key-password="password" generate-self-signed-certificate-host="localhost"/> </ssl> </server-identities> </security-realm> </security-realms> </security> <endpoints> <hotrod-connector socket-binding="hotrod"/> <memcached-connector socket-binding="memcached"/> <rest-connector socket-binding="rest"/> </endpoints> </server> </infinispan>
9.1.6. 詳細
以下は、特定の順序でサーバーに関する追加情報の一覧です。
- 同じサーバーによって処理されるすべてのコンテナーは同じスレッドプールとトランスポートを共有します。