Namespace Akka.Cluster
Classes
Cluster
This class represents an Actor
Each cluster Member is identified by its Address
and the cluster address of this actor system is Self
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 Cluster
ClusterEvent.MemberJoined
This class represents a Cluster
ClusterEvent.MemberLeft
This class represents a Cluster
ClusterEvent.MemberRemoved
This class represents a Cluster
When Previous
When Previous
ClusterEvent.MemberStatusChange
This class provides base functionality for defining state change events for cluster member nodes.
ClusterEvent.MemberUp
This class represents a Cluster
ClusterEvent.MemberWeaklyUp
Member status changed to WeaklyUp.
A joining member can be moved to Weakly
ClusterEvent.ReachabilityEvent
TBD
ClusterEvent.ReachableMember
A member is considered as reachable by the failure detector
after having been unreachable.
Cluster
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 Actor
ClusterJoinFailedException
Exception thrown, when Join
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:
- Leslie Lamport (1978). "Time, clocks, and the ordering of events in a distributed system". Communications of the ACM 21 (7): 558-565.
- 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 Cluster
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 Actor
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 Vector