Search Results for

    Show / Hide Table of Contents

    Namespace Akka.Cluster

    Classes

    Cluster

    This class represents an ActorSystem extension used to create, monitor and manage a cluster of member nodes hosted within the actor system.

    Each cluster Member is identified by its Address and the cluster address of this actor system is SelfAddress. A member also has a status; initially Joining followed by Up.

    ClusterEvent

    Domain events published to the event bus. Subscribe with:

    var cluster = new Cluster(system);
    cluster.Subscribe(actorRef, typeof(IClusterDomainEvent));

    ClusterEvent.ClusterShuttingDown

    Indicates that the Cluster plugin is shutting down.

    ClusterEvent.CurrentClusterState

    A snapshot of the current state of the Cluster

    ClusterEvent.LeaderChanged

    Leader of the cluster members changed. Published when the state change is first seen on a node.

    ClusterEvent.MemberDowned

    Member status changed to MemberStatus.Down and will be removed when all members have seen the Down status.

    ClusterEvent.MemberExited

    This class represents a ClusterEvent.MemberStatusChange event where the cluster node changed its status to Exiting. The node is removed when all members have seen the Exiting status.

    ClusterEvent.MemberJoined

    This class represents a ClusterEvent.MemberStatusChange event where the cluster node changed its status to Joining.

    ClusterEvent.MemberLeft

    This class represents a ClusterEvent.MemberStatusChange event where the cluster node changed its status to Leaving.

    ClusterEvent.MemberRemoved

    This class represents a ClusterEvent.MemberStatusChange event where the cluster node changed its status to Removed.

    When PreviousStatus is Down the node was removed after being detected as unreachable and downed.

    When PreviousStatus is Exiting the node was removed after graceful leaving and exiting.

    ClusterEvent.MemberStatusChange

    This class provides base functionality for defining state change events for cluster member nodes.

    ClusterEvent.MemberUp

    This class represents a ClusterEvent.MemberStatusChange event where the cluster node changed its status to Up.

    ClusterEvent.MemberWeaklyUp

    Member status changed to WeaklyUp. A joining member can be moved to WeaklyUp if convergence cannot be reached, i.e. there are unreachable nodes. It will be moved to Up when convergence is reached.

    ClusterEvent.ReachabilityEvent

    TBD

    ClusterEvent.ReachableMember

    A member is considered as reachable by the failure detector after having been unreachable. ClusterEvent.UnreachableMember

    ClusterEvent.RoleLeaderChanged

    First member (leader) of the members within a role set changed. Published when the state change is first seen on a node.

    ClusterEvent.UnreachableMember

    A member is considered as unreachable by the failure detector.

    ClusterExtension

    This class represents an ActorSystem provider used to create the cluster extension.

    ClusterJoinFailedException

    Exception thrown, when JoinAsync(Address, CancellationToken) or JoinSeedNodesAsync(IEnumerable<Address>, CancellationToken) fails to succeed.

    ClusterScope

    This class represents a binding of an actor deployment to a cluster-aware system.

    ClusterSettings

    This class represents configuration information used when setting up a cluster.

    Member

    Represents the address, current status, and roles of a cluster member node.

    NoDowning

    Default downing provider used when no provider is configured and 'auto-down-unreachable-after' is not enabled.

    SplitBrainResolver

    UniqueAddress

    Member identifier consisting of address and random uid. The uid is needed to be able to distinguish different incarnations of a member with same hostname and port.

    VectorClock

    Representation of a Vector-based clock (counting clock), inspired by Lamport logical clocks.

    Reference:

    1. Leslie Lamport (1978). "Time, clocks, and the ordering of events in a distributed system". Communications of the ACM 21 (7): 558-565.
    2. Friedemann Mattern (1988). "Virtual Time and Global States of Distributed Systems". Workshop on Parallel and Distributed Algorithms: pp. 215-226

    Based on code from the 'vlock' VectorClock library by Coda Hale.

    VectorClock.Node

    Hash representation of a versioned node name.

    Interfaces

    ClusterEvent.IClusterDomainEvent

    Marker interface for cluster domain events

    ClusterEvent.IMemberEvent

    This interface marks a given class as a membership event. The event is published when the state change is first seen on a node. The state change was performed by the leader when there was convergence on the leader node, i.e. all members had seen previous state.

    ClusterEvent.IReachabilityEvent

    A marker interface to facilitate the subscription of both ClusterEvent.UnreachableMember and ClusterEvent.ReachableMember.

    IClusterMessage

    Base interface for all cluster messages. All ClusterMessage's are serializable.

    IDowningProvider

    API for plugins that will handle downing of cluster nodes. Concrete plugins must subclass and have a public one argument constructor accepting an ActorSystem.

    Enums

    ClusterEvent.SubscriptionInitialStateMode

    The mode for getting the current state of the cluster upon first subscribing.

    MemberStatus

    Defines the current status of a cluster member node

    Can be one of: Joining, Up, WeaklyUp, Leaving, Exiting and Down.

    VectorClock.Ordering

    Indicates the age of one VectorClock relative to another.

    In this article
    Back to top
    Contribute
    • Project Chat
    • Discussion Forum
    • Source Code
    Support
    • Akka.NET Support Plans
    • Akka.NET Observability Tools
    • Akka.NET Training & Consulting
    Maintained By
    • Petabridge - The Akka.NET Company
    • Learn Akka.NET