Package io.scalecube.cluster
Interface Cluster
public interface Cluster
Facade cluster interface which provides API to interact with cluster members.
-
Method Summary
Modifier and TypeMethodDescriptionaddress()Returns address of this cluster instance.member()Returns local cluster member which corresponds to this cluster instance.memberByAddress(String address) Returns cluster member by given address or null if no member with such address exists at joined cluster.memberById(String id) Returns cluster member with given id or null if no member with such id exists at joined cluster.members()Returns list of all members of the joined cluster.<T> Optional<T>metadata()Returns local cluster member metadata.<T> Optional<T>Returns cluster member metadata by given member.reactor.core.publisher.Mono<Void>Returns promise which is completed when cluster instance has been shut down.Returns list of all cluster members of the joined cluster excluding local member.voidshutdown()Member notifies other members of the cluster about leaving and gracefully shutdown and free occupied resources.reactor.core.publisher.Mono<String>spreadGossip(Message message) Spreads given message between cluster members using gossiping protocol.<T> reactor.core.publisher.Mono<Void>updateMetadata(T metadata) Updates local member metadata with the given metadata map.
-
Method Details
-
address
String address()Returns address of this cluster instance.- Returns:
- cluster address
-
spreadGossip
Spreads given message between cluster members using gossiping protocol.- Parameters:
message- message to disseminate.- Returns:
- result future
-
metadata
Returns local cluster member metadata.- Returns:
- local member metadata
-
metadata
Returns cluster member metadata by given member.- Parameters:
member- cluster member- Returns:
- cluster member metadata
-
member
Member member()Returns local cluster member which corresponds to this cluster instance.- Returns:
- local member
-
memberById
Returns cluster member with given id or null if no member with such id exists at joined cluster.- Returns:
- member by id
-
memberByAddress
Returns cluster member by given address or null if no member with such address exists at joined cluster.- Returns:
- member by address
-
members
Collection<Member> members()Returns list of all members of the joined cluster. This will include all cluster members including local member.- Returns:
- all members in the cluster (including local one)
-
otherMembers
Collection<Member> otherMembers()Returns list of all cluster members of the joined cluster excluding local member.- Returns:
- all members in the cluster (excluding local one)
-
updateMetadata
Updates local member metadata with the given metadata map. Metadata is updated asynchronously and results in a membership update event for local member once it is updated locally. Information about new metadata is disseminated to other nodes of the cluster with a weekly-consistent guarantees.- Parameters:
metadata- new metadata
-
shutdown
void shutdown()Member notifies other members of the cluster about leaving and gracefully shutdown and free occupied resources. -
onShutdown
reactor.core.publisher.Mono<Void> onShutdown()Returns promise which is completed when cluster instance has been shut down.- Returns:
- promise which is completed once graceful shutdown is finished.
-