How Member Discovery Works
Pivotal GemFire provides various options for member discovery within a distributed system and between clients and servers.
Peer member discovery is what defines a distributed system. All applications and cache servers that use the same settings for peer discovery are members of the same distributed system. Each system member has a unique identity and knows the identities of the other members. A member can belong to only one distributed system at a time. Once they have found each other, members communicate directly, independent of the discovery mechanism. In peer discovery, GemFire uses a membership coordinator to manage member joins and departures.
Members discover each other using one or more locators. A locator provides both discovery and load balancing services. Peer locators manage a dynamic list of distributed system members. New members connect to one of the locators to retrieve the member list, which it uses to join the system.
Note: Multiple locators ensure the most stable start up and availability for your distributed system.
The standalone member has no peers, does no peer discovery, and so does not use locators. It creates a distributed system connection only to access the GemFire caching features. Running standalone has a faster startup and is appropriate for any member that is isolated from other applications. The primary use case is for client applications. Standalone members can be accessed and monitored if you enable the member to become a JMX Manager.
Locators provide clients with dynamic server discovery and server load balancing. Clients are configured with locator information for the server system, and turn to the locators for directions to the servers to use. The servers can come and go and their capacity to service new client connections can vary. The locators continuously monitor server availability and server load information, providing clients with connection information for the server with the least load at any time.
Note: For performance and cache coherency, clients must run as standalone members or in different distributed systems than their servers.
You do not need to run any special processes to use locators for server discovery. The locators that provide peer discovery in the server system also provide server discovery for clients to the server system. This is the standard configuration.
In a multi-site (WAN) configuration, a GemFire cluster uses locators to discover remote GemFire clusters as well as to discover local GemFire members. Each locator in a WAN configuration uniquely identifies the local cluster to which it belongs, and it can also identify locators in remote GemFire clusters to which it will connect for WAN distribution.
When a locator starts up, it contacts each remote locator to exchange information about the available locators and gateway receiver configurations in the remote cluster. In addition to sharing information about its own cluster, a locator shares information that it has obtained from all other connected clusters. Each time a new locator starts up or an existing locator shuts down, the changed information is broadcast to other connected GemFire clusters across the WAN.
See Discovery for Multi-Site Systems for more information.