sofastack/sofa-jraft

A production-grade java implementation of RAFT consensus algorithm.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 50 minutes ago
Added to GitGenius on September 18th, 2026
Created on March 4th, 2019
Open Issues & Pull Requests: 59 (+0)
GitHub issues: Enabled
Number of forks: 1,201
Total Stargazers: 3,822 (+0)
Total Subscribers: 118 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 17.2 hours
Mean response time: 32.1 days
90th percentile: 59.1 days
Tracked items: 63

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 16
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 488 days
Stale 30+ days: 15
Stale 90+ days: 14

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • SOFA-8th-Challenge (6)
  • difficulty-medium (5)
  • help wanted (3)
  • difficulty-easy (1)
  • good first issue (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

SOFAJRaft is a production-grade Java implementation of the RAFT consensus algorithm that supports multi-RAFT-group deployments for high-load, low-latency distributed systems.

The tool addresses the complexity of implementing consensus in distributed systems by providing a complete RAFT implementation that handles leader election, log replication, snapshot management, cluster membership changes, and network partition tolerance. It supports both symmetric and asymmetric network partitions and includes mechanisms for leader transfer during reboots and load balancing. The implementation offers linearizable reads through ReadIndex and LeaseRead modes, replication pipelining for performance, and has passed Jepsen consistency verification testing.

SOFAJRaft suits teams building distributed systems in Java who need a battle-tested consensus layer without implementing RAFT from scratch. It works well for scenarios requiring high availability and low latency across multiple nodes. The project includes an embedded distributed key-value storage implementation, making it suitable for applications that need both consensus and storage capabilities. The README emphasizes ease of use through provided examples and comprehensive documentation, positioning it for developers who want to focus on business logic rather than consensus mechanics.

The project maintains active engagement with its user community through documentation, examples, and a dedicated Slack channel. Development activity shows consistent attention to performance optimization and reliability, evidenced by the inclusion of rich metrics for performance analysis and the successful passage of formal consistency verification. The codebase demonstrates careful engineering in areas like replication pipeline implementation and network partition handling, indicating ongoing refinement of core consensus mechanisms.