Class BootstrapDiscoveryProvider

All Implemented Interfaces:
NodeDiscoveryProvider, Configured<NodeDiscoveryConfig>, ListenerService<NodeDiscoveryEvent,NodeDiscoveryEventListener>

public final class BootstrapDiscoveryProvider extends AbstractListenerManager<NodeDiscoveryEvent,NodeDiscoveryEventListener> implements NodeDiscoveryProvider
Cluster membership provider that bootstraps membership from a pre-defined set of peers.

The bootstrap member provider takes a set of peer addresses and uses them to join the cluster. Using the MessagingService, each node sends a heartbeat to its configured bootstrap peers. Peers respond to each heartbeat message with a list of all known peers, thus propagating membership information using a gossip style protocol.

A phi accrual failure detector is used to detect failures and remove peers from the configuration. In order to avoid flapping of membership following a ClusterMembershipEvent.Type.MEMBER_ADDED event, the implementation attempts to heartbeat all newly discovered peers before triggering a ClusterMembershipEvent.Type.MEMBER_REMOVED event.