第2章 ネットワークインターフェイスおよびソケットバインディング
ネットワークインターフェイスを介して Data Grid Server を公開するには、IP アドレスにバインドします。その後、Data Grid Server がリモートクライアントアプリケーションからの要求を処理できるように、インターフェイスを使用するようにエンドポイントを設定することができます。
2.1. ネットワークインターフェイス
Data Grid Server は、単一の TCP/IP ポートへエンドポイントを多重化し、インバウンドクライアント要求のプロトコルを自動的に検出します。Data Grid Server が、クライアント要求をリッスンするようにネットワークインターフェイスにバインドする方法を設定できます。
インターネットプロトコル (IP) アドレス
XML
<server xmlns="urn:infinispan:server:13.0"> <!-- Selects a specific IPv4 address, which can be public, private, or loopback. This is the default network interface for Data Grid Server. --> <interfaces> <interface name="public"> <inet-address value="${infinispan.bind.address:127.0.0.1}"/> </interface> </interfaces> </server>
JSON
{ "server": { "interfaces": [{ "name": "public", "inet-address": { "value": "127.0.0.1" } }] } }
YAML
server: interfaces: - name: "public" inetAddress: value: "127.0.0.1"
ループバックアドレス
XML
<server xmlns="urn:infinispan:server:13.0"> <!-- Selects an IP address in an IPv4 or IPv6 loopback address block. --> <interfaces> <interface name="public"> <loopback/> </interface> </interfaces> </server>
JSON
{ "server": { "interfaces": [{ "name": "public", "loopback": null }] } }
YAML
server: interfaces: - name: "public" loopback: ~
非ループバックアドレス
XML
<server xmlns="urn:infinispan:server:13.0"> <!-- Selects an IP address in an IPv4 or IPv6 non-loopback address block. --> <interfaces> <interface name="public"> <non-loopback/> </interface> </interfaces> </server>
JSON
{ "server": { "interfaces": [{ "name": "public", "non_loopback": null }] } }
YAML
server: interfaces: - name: "public" nonLoopback: ~
任意のアドレス
XML
<server xmlns="urn:infinispan:server:13.0"> <!-- Uses the `INADDR_ANY` wildcard address which means Data Grid Server listens for inbound client requests on all interfaces. --> <interfaces> <interface name="public"> <any-address/> </interface> </interfaces> </server>
JSON
{ "server": { "interfaces": [{ "name": "public", "any_address": null }] } }
YAML
server: interfaces: - name: "public" anyAddress: ~
ローカルリンク
XML
<server xmlns="urn:infinispan:server:13.0"> <!-- Selects a link-local IP address in an IPv4 or IPv6 address block. --> <interfaces> <interface name="public"> <link-local/> </interface> </interfaces> </server>
JSON
{ "server": { "interfaces": [{ "name": "public", "link_local": null }] } }
YAML
server: interfaces: - name: "public" linkLocal: ~
サイトローカル
XML
<server xmlns="urn:infinispan:server:13.0"> <!-- Selects a site-local (private) IP address in an IPv4 or IPv6 address block. --> <interfaces> <interface name="public"> <site-local/> </interface> </interfaces> </server>
JSON
{ "server": { "interfaces": [{ "name": "public", "site_local": null }] } }
YAML
server: interfaces: - name: "public" siteLocal: ~
2.1.1. 一致およびフォールバックストラテジー
Data Grid Server は、ホストシステム上のネットワークインターフェイスをすべて列挙し、値と一致するインターフェイス、ホスト、または IP アドレスにバインドできます。これには、柔軟性を高めるための正規表現を含むことができます。
ホストの一致
XML
<server xmlns="urn:infinispan:server:13.0"> <!-- Selects an IP address that is assigned to a matching host name. --> <interfaces> <interface name="public"> <match-host value="my_host_name"/> </interface> </interfaces> </server>
JSON
{ "server": { "interfaces": [{ "name": "public", "match-host": { "value": "my_host_name" } }] } }
YAML
server: interfaces: - name: "public" matchHost: value: "my_host_name"
インターフェイスの一致
XML
<server xmlns="urn:infinispan:server:13.0"> <!--Selects an IP address assigned to a matching network interface. --> <interfaces> <interface name="public"> <match-interface value="eth0"/> </interface> </interfaces> </server>
JSON
{ "server": { "interfaces": [{ "name": "public", "match-interface": { "value": "eth0" } }] } }
YAML
server: interfaces: - name: "public" matchInterface: value: "eth0"
アドレスの一致
XML
<server xmlns="urn:infinispan:server:13.0"> <!-- Selects an IP address that matches a regular expression. --> <interfaces> <interface name="public"> <match-address value="132\..*"/> </interface> </interfaces> </server>
JSON
{ "server": { "interfaces": [{ "name": "public", "match-address": { "value": "132\\..*" } }] } }
YAML
server: interfaces: - name: "public" matchAddress: value: "127\\..*"
フォールバック
XML
<server xmlns="urn:infinispan:server:13.0"> <!-- Includes multiple strategies that Data Grid Server tries in the declared order until it finds a match. --> <interfaces> <interface name="public"> <match-host value="my_host_name"/> <match-address value="132\..*"/> <any-address/> </interface> </interfaces> </server>
JSON
{ "server": { "interfaces": [{ "name": "public", "match-host": { "value": "my_host_name" }, "match-address": { "value": "132\\..*" }, "any_address": null }] } }
YAML
server: interfaces: - name: "public" matchHost: value: "my_host_name" matchAddress: value: "132\\..*" anyAddress: ~