此内容没有您所选择的语言版本。

Chapter 9. Data Grid Server Reference


9.1. Data Grid Server

Data Grid server provides fast, reliable, and secure access to your data. This release of the server improves on previous versions and offers:

  • Small code-base with minimal duplication of existing functionality (e.g. configuration).
  • Embeddable: the server should allow for easy testability in both single and clustered configurations.
  • RESTful administration capabilities.
  • Logging with Apache Log4j 2.
  • Security with WildFly Elytron SPIs.

9.1.1. Directory Structure

Server distributions have the following directory structure:

  • /bin: scripts to start the server and create/modify users.
  • /boot: JAR files to boot the server.
  • /docs: examples and component licenses.
  • /lib: server JAR files.
  • /server: default server instance folder.

    • /server/conf: configuration files.
    • /server/data: data files organized by container name.
    • /server/lib: extension JAR files for custom filters, listeners, and so on.
    • /server/log: server log files.

9.1.2. Server Paths

Servers use the following paths:

  • infinispan.server.home defaults to the directory that contains the server distribution.
  • infinispan.server.root contains configuration and data for Data Grid servers and defaults to the server directory under infinispan.server.home.
    Multiple roots can exist in the same or different directories. To start multiple server instances you can specify the path to infinispan.server.root with a command line argument.

    Note

    When the server starts it locks infinispan.server.root to avoid concurrent use by multiple server instances.

  • infinispan.server.configuration defaults to infinispan.xml, which resides in the conf folder under infinispan.server.root.

9.1.3. Command Arguments

The server.sh|bat startup script includes arguments that you can use to get information and configure the server runtime environment.

To view the available command arguments, include the --help or -h option as follows:

$ bin/server.sh -h

9.1.4. Logging Configuration

You configure logging with log4j2.xml in the server/conf directory.

9.1.5. Configuration

The server configuration extends the standard Data Grid configuration with the following server-specific elements:

  • security configures the available security realms for the endpoints.
  • cache-container multiple containers may be configured, distinguished by name.
  • endpoints lists the enabled endpoint connectors (hotrod, rest, and so on).
  • socket-bindings lists the socket bindings.

The following is an example server configuration:

<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. Additional Details

The following is a list of additional details about the server, in no particular order:

  • All containers handled by the same server share the same thread pools and transport.
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.