Package io.atomix.cluster.discovery
Class MulticastDiscoveryProvider
java.lang.Object
io.atomix.utils.event.AbstractListenerManager<NodeDiscoveryEvent,NodeDiscoveryEventListener>
io.atomix.cluster.discovery.MulticastDiscoveryProvider
- All Implemented Interfaces:
NodeDiscoveryProvider,io.atomix.utils.config.Configured<NodeDiscoveryConfig>,io.atomix.utils.event.ListenerService<NodeDiscoveryEvent,NodeDiscoveryEventListener>
public class MulticastDiscoveryProvider extends io.atomix.utils.event.AbstractListenerManager<NodeDiscoveryEvent,NodeDiscoveryEventListener> implements NodeDiscoveryProvider
Cluster membership provider that uses multicast for member discovery.
This implementation uses the BroadcastService internally and thus requires that
multicast is enabled on the Atomix instance. Membership is
determined by each node broadcasting to a multicast group, and phi accrual failure detectors are used to detect nodes
joining and leaving the cluster.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMulticastDiscoveryProvider.TypeBroadcast member location provider type. -
Field Summary
Fields Modifier and Type Field Description static MulticastDiscoveryProvider.TypeTYPE -
Constructor Summary
Constructors Constructor Description MulticastDiscoveryProvider()MulticastDiscoveryProvider(MulticastDiscoveryConfig config) -
Method Summary
Modifier and Type Method Description static MulticastDiscoveryBuilderbuilder()Returns a new multicast member location provider builder.MulticastDiscoveryConfigconfig()Set<Node>getNodes()Returns the set of active nodes.CompletableFuture<Void>join(BootstrapService bootstrap, Node localNode)Joins the cluster.CompletableFuture<Void>leave(Node localNode)Leaves the cluster.Methods inherited from class io.atomix.utils.event.AbstractListenerManager
addListener, removeListener
-
Field Details
-
Constructor Details
-
MulticastDiscoveryProvider
public MulticastDiscoveryProvider() -
MulticastDiscoveryProvider
-
-
Method Details
-
builder
Returns a new multicast member location provider builder.- Returns:
- a new multicast location provider builder
-
config
- Specified by:
configin interfaceio.atomix.utils.config.Configured<NodeDiscoveryConfig>
-
getNodes
Description copied from interface:NodeDiscoveryProviderReturns the set of active nodes.- Specified by:
getNodesin interfaceNodeDiscoveryProvider- Returns:
- the set of active nodes
-
join
Description copied from interface:NodeDiscoveryProviderJoins the cluster.- Specified by:
joinin interfaceNodeDiscoveryProvider- Parameters:
bootstrap- the bootstrap servicelocalNode- the local node info- Returns:
- a future to be completed once the join is complete
-
leave
Description copied from interface:NodeDiscoveryProviderLeaves the cluster.- Specified by:
leavein interfaceNodeDiscoveryProvider- Parameters:
localNode- the local node info- Returns:
- a future to be completed once the leave is complete
-