raft-grpc-example
ruaft
Our great sponsors
raft-grpc-example | ruaft | |
---|---|---|
1 | 1 | |
194 | 14 | |
- | - | |
3.0 | 7.3 | |
8 months ago | 3 months ago | |
Go | Rust | |
The Unlicense | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
raft-grpc-example
-
Raft Consensus Protocol
In general Hashicorp's repos are high quality:
https://github.com/hashicorp/raft
Example application: https://github.com/Jille/raft-grpc-example
ruaft
-
Raft Consensus Protocol
In my implementation, in each AppendEntries request, the leader includes X commits starting from nextIndex. The follower either accepts all X commits, or reject all of them. If the follower accepted all commits, the leader moves nextIndex to (X + nextIndex when the request was sent). See code here (matchIndex = nextIndex + X - 1): https://github.com/ditsing/ruaft/blob/master/src/sync_log_en....
What are some alternatives?
raft - Golang implementation of the Raft consensus protocol
little-raft - The lightest distributed consensus library. Run your own replicated state machine! ❤️
tigerbeetle - A distributed financial accounting database designed for mission critical safety and performance. [Moved to: https://github.com/tigerbeetledb/tigerbeetle]
tigerbeetle - The distributed financial transactions database designed for mission critical safety and performance.
Go-gRPC-RabbitMQ-microservice - Go gRPC RabbitMQ email microservice
Ginrpc - gin auto binding,grpc, and annotated route,gin 注解路由, grpc,自动参数绑定工具
raftkv - A simple distributed key-value store by using hashicorp/raft