18 WebSphere eXtreme Scale Best Practices for Operation and Management
A catalog server uses a host name and two ports to communicate with its peer catalog
servers to provide the catalog service for the grid. This set of host names and port numbers
from all the catalog servers defines the catalog service, and it is the grid’s catalog service
endpoints. Each catalog server must be given the complete set of catalog service endpoints
when it starts. The catalog servers communicate among themselves on these ports to
provide a highly available catalog service for the grid. Each catalog server listens on a
separate port for container servers and grid clients. This combination of a host name and port
on which a catalog server listens is also called a
catalog server endpoint. You have to keep
the context straight. Usually, you deal with container servers and clients, so this use is the
predominant sense of the term. When a container server starts, it is given its catalog server
endpoint, by which it will connect to the catalog service.
The good news is that a WebSphere eXtreme Scale grid is defined by the catalog service’s
catalog service endpoints. Container servers and clients connect to the grid by using a
catalog server’s client catalog service endpoint.
Container servers connect to the catalog service when they start. The catalog service thus
knows the identity of all its container servers, and it distributes the shards over these
containers. Catalog servers are not involved in normal gets and puts to the grid, so they are
not a bottleneck that interferes with scaling.
2.3.2 Shards
The catalog service plays an instrumental role in the elastic nature of the grid configuration. It
is responsible for the replication, distribution, and assignment of the shards (containing the
data) to grid containers, as illustrated in Figure 2-5 on page 19. The catalog service evenly
distributes the primary shards and their replicas among the registered container servers.