Skip to content
/ rafty Public

Rafty is a library for maintaining a replicated state machine following the Raft consensus protocol

License

Notifications You must be signed in to change notification settings

Lord-Y/rafty

Repository files navigation

rafty

Rafty is yet another golang library that manage to replicate log state machine. Details about Raft protocol can be found here

Reading this documentation is recommanded before going any further.

Check out these websites will also be useful:

Why another library?

There are many libraries out there implementing the search of an understandable consensus algorithm. Unfortunately, I mostly found them difficult to understand as there is not so much clear documentation about how to use them. As examples, we have production ready repositories like:

So let's try to redo the wheel with more explanations.

Supported features

Here is a list of the supported features of rafty:

  • Prevote election
  • Leader election
  • [] Write log on storage
  • [] Log replication
  • [] Log compaction
  • [] Membership changes
    • Add member
    • remove member
    • promote member

References

About

Rafty is a library for maintaining a replicated state machine following the Raft consensus protocol

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published