rraft-py | raft | |
---|---|---|
6 | 2 | |
18 | 8 | |
- | - | |
9.2 | 0.0 | |
6 months ago | over 1 year ago | |
Python | Python | |
Apache License 2.0 | 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.
rraft-py
raft
-
Paxos vs Raft: Have We Reached Consensus on Distributed Consensus?
Author seems to be using https://github.com/ailidani/paxi for actual implementation and proof.
I'm more of a python/rust guy. There have been some attempts to make model checkers in rust: https://github.com/stateright/stateright
The issue is that rust is a very large language and it's hard to get it right.
I have a python implementation of raft over here:
https://github.com/adsharma/raft/tree/master/raft/states
That's small enough to be self contained and perhaps run through a model checker some day and transpiled to many statically typed languages.
The issue with TLA+ proofs such as:
https://github.com/fpaxos/raft.tla
is that it's hard to tell if a particular C++ or Rust implementation conforms to the spec.
So how do we check and transpile?
* https://www.philipzucker.com/Modelling_TLA_in_z3py/
-
Rqlite: The lightweight, distributed relational database built on SQLite
https://github.com/adsharma/raft
Bug reports welcome
What are some alternatives?
raft-rs - Raft distributed consensus algorithm implemented in Rust.
paxi - Paxos protocol framework
Faust - Python Stream Processing
k3s - Lightweight Kubernetes
eventsourcing - A library for event sourcing in Python.
stateright - A model checker for implementing distributed systems.
raft.tla - TLA+ specification for the Raft consensus algorithm
zre_raft - Peer-to-peer encrypted chat using ZRE and double ratchet.
py2many - Transpiler of Python to many other languages
rqlite - The lightweight, distributed relational database built on SQLite.
litestream - Streaming replication for SQLite.
raft.tla - TLA+ specification for the Raft consensus algorithm