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.

There are two discovery options: using multicast or using locators. By default, GemFire peers discover each other using multicast communication on a known port. Alternatively, you can configure member discovery using one or more dedicated locators. A locator provides both discovery and load balancing services.
  • 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.

  • 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.

Note: Locators are recommended for discovery in all production systems. Multiple locators ensure the most stable startup and availability for your distributed system. You must use peer locators if you implement security and authorization or network partitioning management.

Locators are given preference over multicasting for member discovery. If you have both peer locators and multicast configured, the locators are used.

Standalone Member

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.

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.

Multi-site Discovery

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.

Note: When you configure a multi-site system, you must use locators for discovery rather than multicast.