Managing host names for communication between clients and servers

Use the publishHost property to configure the host name that the network transport publishes to connected clients and servers.

About this task

Each eXtreme Scale server tells other systems (clients and servers) to communicate with it using one and only one hostname using the publishHost property. By default, publishHost is that host name which is configured as default host name at the OS level, and also indicates the IP address that is used for listening. If you override publishHost property to some other value, then all IP addresses are used for listening and the publishHost value is sent to all clients and servers. The publishHost value should resolve, via Domain Naming System (DNS), to the correct IP address of the server.

On client systems, the correct IP address is generally the public IP address of the server. On other server systems, the correct IP address is generally the private IP address of the eXtreme Scale server. Used with the DNS server or hosts file, you can configure and override the host that is published with the publishHost property. Now, you have more fine-grained control over the communication that flows between clients and servers, which also gives you the ability to optimize the communication between nodes in the data grid. For example, the following diagram illustrates how you can connect clients to the public Internet Protocol (IP) (1.1.1.x) and connect servers to the private IP (2.2.2.x). In this example, the catalog and container servers have two host names for each network card, A* for publicly available IP addresses and B* for private IP addresses.

Figure 1. The topology for the publishHost property.
The topology for the publishHost property.

The C* host name represents the new value of the publishHost property that is used as the generic host name to publish. It is also an alternative to using A* or B* because A* names are not appropriate for servers that you want to communicate on a private network, B* names are not appropriate for clients that you want to communicate over a public network. It will allow you to select between the alternative public and private addresses of servers.

Procedure

  1. Set the publishHost property to Ccat on the catalog server and Ccon on container server.
    This property sets the host name that is published during client and server communications and also published to DNS.
  2. Optional: Set the listenerHost property.
    This property controls which IP addresses that each server listens to.
  3. Ensure that the DNS (or /etc/hosts files) for clients that use the public network refer to Ccat and Ccon hosts at their public IP addresses (Ccat 1.1.1.1 and Ccon 1.1.1.2 respectively).
    Ensure that the DNS (or /etc/hosts files) on servers on the private network refers to Ccat and Ccon hosts at their private IP addresses (Ccat 2.2.2.1 and Ccon 2.2.2.2 respectively).
  4. Use the publishHost value for the catalog server (Ccat) as the host name for catalog server endpoints that are used in the object grid configuration on clients and servers.

Results

Now, traffic that flows between servers is on the public network, and traffic that flows from clients to containers is on the private network.