Interface Cluster


public interface Cluster
Facade cluster interface which provides API to interact with cluster members.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns address of this cluster instance.
    Returns local cluster member which corresponds to this cluster instance.
    Returns cluster member by given address or null if no member with such address exists at joined cluster.
    Returns cluster member with given id or null if no member with such id exists at joined cluster.
    Returns list of all members of the joined cluster.
    <T> Optional<T>
    Returns local cluster member metadata.
    <T> Optional<T>
    metadata(Member member)
    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.
    void
    Member notifies other members of the cluster about leaving and gracefully shutdown and free occupied resources.
    reactor.core.publisher.Mono<String>
    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

      reactor.core.publisher.Mono<String> spreadGossip(Message message)
      Spreads given message between cluster members using gossiping protocol.
      Parameters:
      message - message to disseminate.
      Returns:
      result future
    • metadata

      <T> Optional<T> metadata()
      Returns local cluster member metadata.
      Returns:
      local member metadata
    • metadata

      <T> Optional<T> metadata(Member member)
      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

      Optional<Member> memberById(String id)
      Returns cluster member with given id or null if no member with such id exists at joined cluster.
      Returns:
      member by id
    • memberByAddress

      Optional<Member> memberByAddress(String address)
      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

      <T> reactor.core.publisher.Mono<Void> updateMetadata(T metadata)
      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.