See: Description
| Interface | Description |
|---|---|
| ClusterBackupEventsListener |
Listener which can be registered via
ClusterBackup.Context for tracking backup progress. |
| TimerService |
Timer service providing API to schedule timers in the Cluster.
|
| TimerService.TimerHandler |
Called from the
TimerService.poll(long). |
| TimerService.TimerSnapshotTaker |
Called from the
TimerService.snapshot(TimerSnapshotTaker). |
| TimerServiceSupplier |
Supplier of
TimerService implementations to be used by the ConsensusModule. |
| Class | Description |
|---|---|
| AppVersionValidator |
Class to be used for determining AppVersion compatibility.
|
| ClusterBackup |
Backup component which can run remote from a cluster which polls for snapshots and replicates the log.
|
| ClusterBackup.Configuration |
Configuration options for
ClusterBackup with defaults and constants for system properties lookup. |
| ClusterBackup.Context |
Context for overriding default configuration for
ClusterBackup. |
| ClusterBackupAgent |
Agent which backs up a remote cluster by replicating the log and polling for snapshots. |
| ClusterBackupMediaDriver | |
| ClusterControl |
Toggle control
ClusterControl.ToggleStates for a cluster node such as ClusterControl.ToggleState.SUSPEND or
ClusterControl.ToggleState.RESUME. |
| ClusteredArchive |
Clustered archive which is an aggregate of a
ConsensusModule and an Archive. |
| ClusteredMediaDriver | |
| ClusterMember |
Represents a member of the cluster that participates in consensus for storing state from the perspective
of any single member.
|
| ClusterMembership |
Detail for the cluster membership from the perspective of a given member.
|
| ClusterTool |
Tool for control and investigating the state of a cluster node.
|
| ConsensusModule |
Component which resides on each node and is responsible for coordinating consensus within a cluster in concert
with the lifecycle of clustered services.
|
| ConsensusModule.Configuration |
Configuration options for cluster.
|
| ConsensusModule.Context |
Programmable overrides for configuring the
ConsensusModule in a cluster. |
| ConsensusModuleSnapshotPendingServiceMessagesPatch |
A tool to patch the latest consensus module snapshot if it has divergence in the pending service messages state.
|
| MillisecondClusterClock |
A
ClusterClock implemented by calling System.currentTimeMillis(). |
| NanosecondClusterClock |
A
ClusterClock implemented by calling HighResolutionClock.epochNanos(). |
| NodeControl |
Toggle control
NodeControl.ToggleStates for a cluster node such as NodeControl.ToggleState.REPLICATE_STANDBY_SNAPSHOT. |
| NodeStateFile |
An extensible list of information relating to a specific cluster node.
|
| PriorityHeapTimerServiceSupplier |
Supplies instances of the
PriorityHeapTimerService |
| RecordingLog |
A log of recordings which make up the history of a Raft log across leadership terms.
|
| RecordingLog.Entry |
Representation of the entry in the
RecordingLog. |
| RecordingLog.Log |
Representation of a log entry in the
RecordingLog. |
| RecordingLog.RecoveryPlan |
The snapshots and steps to recover the state of a cluster.
|
| RecordingLog.Snapshot |
Representation of a snapshot entry in the
RecordingLog. |
| WheelTimerServiceSupplier |
Supplies an instance of a
WheelTimerService based on the configuration given to the constructor |
| Enum | Description |
|---|---|
| ClusterBackup.SourceType |
Defines the type of node that this will receive log data from
|
| ClusterBackup.State |
State of the cluster backup state machine.
|
| ClusterControl.ToggleState |
Toggle states for controlling the cluster node once it has entered the active state after initialising.
|
| ConsensusModule.State |
Possible states for the
ConsensusModule. |
| ElectionState |
Election states for a
ConsensusModule which get represented by a ElectionState.code() stored in a
Counter of the type ConsensusModule.Configuration.ELECTION_STATE_TYPE_ID. |
| NodeControl.ToggleState |
Toggle states for controlling the cluster node once it has entered the active state after initialising.
|
The purpose of Aeron Cluster is to aggregate and sequence streams from cluster clients into a single log. A number of
nodes will replicate and archive the log to achieve fault tolerance.
ClusteredServices deterministically process the log and respond to cluster clients.
Aeron Cluster works on the concept of a strong leader using an adaptation of the Raft algorithm. The leader sequences the log and is responsible for replicating it to other cluster members known as followers.
A number of components make up Aeron Cluster. Central is the ConsensusModule which sequences
the log and coordinates consensus for the recording of the sequenced log to persistent storage, and the services
consuming the log across cluster members. Aeron Archive records the log to durable storage.
Services consume the log once a majority of the cluster members have safely recorded the log to durable storage.
To enable fast recovery, the services and consensus module can take a snapshot of their state as of a given log
position thus enabling recovery by loading the most recent snapshot and replaying logs from that point forward.
Snapshots are recorded as streams in the Archive for local and remote replay so that a
distributed file system is not required.
The majority of cluster members determine consensus. Clusters should typically be 3 or 5 in population size. However, 2 node clusters are supported whereby both members must agree the log and in the event of failure the remaining member must be manually reconfigured as a single node cluster to progress.
Copyright © 2014-2023 Real Logic Limited. All Rights Reserved.