How Member Discovery Works
How Member Discovery Works
Pivotal GemFire provides various options for member discovery within a distributed system and between clients and servers.
Peer Member Discovery
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.
UDP/IP Multicast. New
members broadcast their connection information over the multicast address
and port to all running members. Existing members respond to establish
communication with the new member. By default, peers discover each other
using multicast communication. Note: If multicast is available at your site, it is a convenient way to try out new versions of GemFire.
Locators Using TCP/IP. 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.
Locators are given preference over multicasting for member discovery. If you have both peer locators and multicast configured, the locators are used.
The standalone member has no peers, does no peer discovery, and so does not use locators or multicasting. 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.
Client Discovery of Servers
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.
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.