package cluster
- Alphabetic
- Public
- Protected
Package Members
Type Members
- class Cluster extends Extension
This module is responsible cluster membership information.
This module is responsible cluster membership information. Changes to the cluster information is retrieved through #subscribe. Commands to operate the cluster is available through methods in this class, such as #join, #down and #leave.
Each cluster Member is identified by its pekko.actor.Address, and the cluster address of this actor system is #selfAddress. A member also has a status; initially MemberStatus
Joining
followed by MemberStatusUp
. - trait ClusterMessage extends Serializable
Base trait for all cluster messages.
Base trait for all cluster messages. All ClusterMessage's are serializable.
- trait ClusterNodeMBean extends AnyRef
Interface for the cluster JMX MBean.
- abstract class ClusterScope extends Scope
- Annotations
- @nowarn() @SerialVersionUID()
- final class ClusterSettings extends AnyRef
- sealed trait ConfigValidation extends AnyRef
- Annotations
- @DoNotInherit()
- abstract class DowningProvider extends AnyRef
API for plugins that will handle downing of cluster nodes.
API for plugins that will handle downing of cluster nodes. Concrete plugins must subclass and have a public one argument constructor accepting an pekko.actor.ActorSystem.
A custom
DowningProvider
can be configured withpekko.cluster.downing-provider-class
When implementing a downing provider you should make sure that it will not split the cluster into several separate clusters in case of network problems or system overload (long GC pauses). This is much more difficult than it might be perceived at first, so carefully read the concerns and scenarios described in https://pekko.apache.org/docs/pekko/current/split-brain-resolver.html
- final case class Invalid(errorMessages: Seq[String]) extends ConfigValidation with Product with Serializable
- final class JoinConfigCompatCheckCluster extends JoinConfigCompatChecker
INTERNAL API
INTERNAL API
- Annotations
- @InternalApi()
- abstract class JoinConfigCompatChecker extends AnyRef
- class Member extends Serializable
Represents the address, current status, and roles of a cluster member node.
Represents the address, current status, and roles of a cluster member node.
Note:
hashCode
andequals
are solely based on the underlyingAddress
, not itsMemberStatus
and roles.- Annotations
- @SerialVersionUID()
- sealed abstract class MemberStatus extends AnyRef
Defines the current status of a cluster member node
Defines the current status of a cluster member node
Can be one of: Joining, WeaklyUp, Up, Leaving, Exiting and Down and Removed.
- final class NoDowning extends DowningProvider
Default downing provider used when no provider is configured.
- final class UniqueAddress extends Product with Serializable with Ordered[UniqueAddress]
Member identifier consisting of address and random
uid
.Member identifier consisting of address and random
uid
. Theuid
is needed to be able to distinguish different incarnations of a member with same hostname and port.- Annotations
- @SerialVersionUID()
- final case class VectorClock(versions: TreeMap[Node, Long] = TreeMap.empty[VectorClock.Node, Long]) extends Product with Serializable
Representation of a Vector-based clock (counting clock), inspired by Lamport logical clocks.
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.
- Annotations
- @SerialVersionUID()
Value Members
- object Cluster extends ExtensionId[Cluster] with ExtensionIdProvider
Cluster Extension Id and factory for creating Cluster extension.
- object ClusterEvent
Domain events published to the event bus.
Domain events published to the event bus. Subscribe with:
Cluster(system).subscribe(actorRef, classOf[ClusterDomainEvent])
- object ClusterLogMarker
This is public with the purpose to document the used markers and properties of log events.
This is public with the purpose to document the used markers and properties of log events. No guarantee that it will remain binary compatible, but the marker names and properties are considered public API and will not be changed without notice.
- Annotations
- @ApiMayChange()
- case object ClusterScope extends ClusterScope with Product with Serializable
Cluster aware scope of a pekko.actor.Deploy
- object ClusterSettings
- object GossipEnvelope extends Serializable
- object JoinConfigCompatChecker
- object Member extends Serializable
Module with factory and ordering methods for Member instances.
- object MemberStatus
- object UniqueAddress extends AbstractFunction2[Address, Int, UniqueAddress] with Serializable
- case object Valid extends ConfigValidation with Product with Serializable