Overview of SOFAJRaft
masterSOFAJRaft is a production-grade, high-performance Java implementation of the RAFT consensus algorithm. It supports MULTI-RAFT-GROUP and is designed for high-load, low-latency scenarios. It handles complex RAFT-related technical challenges, allowing developers to focus on their business logic. Key features include:
- Leader election (including priority-based semi-deterministic election).
- Log replication and recovery.
- Read-only members (Learner role).
- Snapshotting and log compaction.
- Online cluster configuration changes (adding, removing, or replacing nodes).
- Active Leader changes for maintenance or load balancing.
- Tolerance for both symmetric and asymmetric network partitions.
- Fault tolerance (minority failures do not affect availability; manual recovery available for majority failures).
- Efficient linearizable reads via
ReadIndexandLeaseRead. - Pipelined replication.
- Built-in performance metrics based on the Dropwizard Metrics library.
- Jepsen consistency verification passed.
- Includes an embedded distributed KV storage implementation.