Copycat

Build Status Maven Central Gitter

WebsiteJavadocAtomixJepsen TestsGoogle Group

Copycat is a feature complete, fully asynchronous implementation of the Raft consensus algorithm in Java 8 built for Atomix and designed for use in any project. The implementation provides a fully featured client and server to operate on replicated state machines. The implementation includes: * Pre-vote election protocol4.2.3) * Session-based linearizable writes6.3) * Lease-based fast linearizable reads from leaders6.4.1) * Fast sequential reads from followers6.4.1) * FIFO consistency for concurrent/asynchronous operations11.1.2) * Session-based state machine events6.3) * Membership changes4.3) * Asynchronous gossip protocol * Incremental log compaction5.3) * Snapshots5.1)

Additionally, this implementation has undergone extensive Jepsen testing to verify it maintains linearizability in a number of different failure scenarios.

For more information on the Raft implementation itself, see Copycat architecture

WebsiteJavadocAtomixJepsen TestsGoogle Group

Related Repositories

tmux-copycat

tmux-copycat

A plugin that enhances tmux search ...

SVStatusHUD

SVStatusHUD

a copycat of the HUD shown on orientation and volume change in iOS. ...

copycat

copycat

A novel implementation of the Raft consensus algorithm ...

boxy

boxy

General purpose copycat Facebook dialog/overlay ...

DemoTaskTray

DemoTaskTray

Demo shows advanced usage with iCarousel. A copycat of task tray in iOS9 ...


Top Contributors

kuujo madjam jhalterman dmvk bgloeckle georgekankava

Releases

-   copycat-1.1.4 zip tar
-   copycat-1.1.3 zip tar
-   copycat-1.1.2 zip tar
-   copycat-1.1.1 zip tar
-   copycat-1.1.0 zip tar
-   copycat-1.0.1 zip tar
-   copycat-1.0.0 zip tar
-   copycat-1.0.0-rc7 zip tar
-   copycat-1.0.0-rc6 zip tar
-   copycat-1.0.0-rc5 zip tar
-   copycat-1.0.0-rc4 zip tar
-   copycat-1.0.0-rc3 zip tar
-   copycat-1.0.0-rc2 zip tar
-   copycat-1.0.0-rc1 zip tar
-   copycat-1.0.0-beta6 zip tar
-   copycat-1.0.0-beta5 zip tar
-   copycat-1.0.0-beta4 zip tar
-   copycat-1.0.0-beta3 zip tar
-   copycat-1.0.0-beta2 zip tar
-   copycat-1.0.0-beta1 zip tar