How Member Discovery Works

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

The 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 cannot be accessed or monitored from the GemFire JMX agent.

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

Multi-site installations have no discovery process because they use fixed remote site addresses.