Click or drag to resize
Akka.NETAkka.Cluster Namespace
The Akka.Cluster namespace contains classes that provide cluster services including membership, gossip protocols and fault-tolerance.
Classes
  ClassDescription
Public classAutoDowning
Used when no custom provider is configured and 'auto-down-unreachable-after' is enabled.
Public classCluster

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.

Public classClusterEvent
Domain events published to the event bus. Subscribe with:
var cluster = new Cluster(system);
cluster.Subscribe(actorRef, typeof(IClusterDomainEvent));
Public classClusterEvent.ClusterShuttingDown
Indicates that the Cluster plugin is shutting down.
Public classClusterEvent.CurrentClusterState
A snapshot of the current state of the Cluster
Public classClusterEvent.LeaderChanged
Leader of the cluster members changed. Published when the state change is first seen on a node.
Public classClusterEvent.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.
Public classClusterEvent.MemberJoined
This class represents a ClusterEvent. MemberStatusChange event where the cluster node changed its status to Joining.
Public classClusterEvent.MemberLeft
This class represents a ClusterEvent. MemberStatusChange event where the cluster node changed its status to Leaving.
Public classClusterEvent.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.

Public classClusterEvent.MemberStatusChange
This class provides base functionality for defining state change events for cluster member nodes.
Public classClusterEvent.MemberUp
This class represents a ClusterEvent. MemberStatusChange event where the cluster node changed its status to Up.
Public classClusterEvent.ReachabilityEvent
TBD
Public classClusterEvent.ReachableMember
A member is considered as reachable by the failure detector after having been unreachable. ClusterEvent.UnreachableMember
Public classClusterEvent.RoleLeaderChanged
First member (leader) of the members within a role set changed. Published when the state change is first seen on a node.
Public classClusterEvent.UnreachableMember
A member is considered as unreachable by the failure detector.
Public classClusterExtension
This class represents an ActorSystem provider used to create the cluster extension.
Public classClusterScope
This class represents a binding of an actor deployment to a cluster-aware system.
Public classClusterSettings
This class represents configuration information used when setting up a cluster.
Public classMember
Represents the address, current status, and roles of a cluster member node.
Public classNoDowning
Default downing provider used when no provider is configured and 'auto-down-unreachable-after' is not enabled.
Public classUniqueAddress
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.
Public classVectorClock

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.

Public classVectorClock.Node
Hash representation of a versioned node name.
Interfaces
  InterfaceDescription
Public interfaceClusterEvent.IClusterDomainEvent
Marker interface for cluster domain events
Public interfaceClusterEvent.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.
Public interfaceClusterEvent.IReachabilityEvent
Public interfaceIClusterMessage
Base interface for all cluster messages. All ClusterMessage's are serializable.
Public interfaceIDowningProvider
API for plugins that will handle downing of cluster nodes. Concrete plugins must subclass and have a public one argument constructor accepting an ActorSystem.
Enumerations
  EnumerationDescription
Public enumerationClusterEvent.SubscriptionInitialStateMode
The mode for getting the current state of the cluster upon first subscribing.
Public enumerationMemberStatus
Defines the current status of a cluster member node Can be one of: Joining, Up, Leaving, Exiting and Down.
Public enumerationVectorClock.Ordering
Indicates the age of one VectorClock relative to another.