Skip to content
forked from atomix/atomix

Fault-tolerant distributed coordination framework and Raft consensus protocol implementation

License

Notifications You must be signed in to change notification settings

ctrimble/copycat

 
 

Repository files navigation

Persistent • Consistent • Fault-tolerant • Database • Coordination • Framework

Build Status

Copycat is both a low-level implementation of the Raft consensus algorithm and a high-level distributed coordination framework that combines the consistency of ZooKeeper with the usability of Hazelcast to provide tools for managing and coordinating stateful resources in a distributed system. Its strongly consistent, fault-tolerant data store is designed for such use cases as configuration management, service discovery, and distributed synchronization.

Copycat exposes a set of high level APIs with tools to solve a variety of distributed systems problems including:

Additionally, Copycat is built on a series of low-level libraries that form its consensus algorithm. Users can extend Copycat to build custom managed replicated state machines. All base libraries are provided as standalone modules wherever possible, so users can use many of the following components of the Copycat project independent of higher level libraries:

Copycat is still undergoing heavy development and testing and is therefore not recommended for production!

Jepsen tests are currently being developed to verify the stability of Copycat in an unreliable distributed environment. There is still work to be done, and Copycat will not be fully released until significant testing is done both via normal testing frameworks and Jepsen. In the meantime, Copycat snapshots will be pushed, and a beta release of Copycat is expected within the coming weeks. Follow the project for updates!

About

Fault-tolerant distributed coordination framework and Raft consensus protocol implementation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%