https://github.com/zk1931/jzab
ZooKeeper Atomic Broadcast in Java
https://github.com/zk1931/jzab
Last synced: 9 days ago
JSON representation
ZooKeeper Atomic Broadcast in Java
- Host: GitHub
- URL: https://github.com/zk1931/jzab
- Owner: zk1931
- License: apache-2.0
- Created: 2014-06-04T04:55:59.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2022-02-22T07:35:29.000Z (over 4 years ago)
- Last Synced: 2025-08-02T10:31:01.663Z (11 months ago)
- Language: Java
- Homepage: http://zk1931.github.io/jzab/master/
- Size: 27.5 MB
- Stars: 54
- Watchers: 12
- Forks: 21
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-java - Jzab
README
Jzab
=======
[](https://travis-ci.org/zk1931/jzab)
`jzab` is an implementation of
[ZooKeeper Atomic Broadcast](http://web.stanford.edu/class/cs347/reading/zab.pdf) (Zab)
in Java. `jzab`'s features include:
- **High throughput** - [benchmarked > 20k writes/sec](https://github.com/zk1931/jzab/wiki) on commodity hardware.
- **Fuzzy snapshot** - minimizes service interruption while taking snapshots.
- **Dynamic reconfiguration** - add/remove servers without restarting the cluster.
- **Minimum runtime dependencies** - netty, protobuf, slf4j.
- **Secure communication** - using ssl.
Applications using `jzab`
-------------------------
- [`zabkv`](https://github.com/zk1931/zabkv) - A simple reference server.
- [`pulsed`](https://github.com/zk1931/pulsed) - An HTTP-based replicated filestore for distributed coordination.
Documentation
-------------
- [Getting Started](http://zk1931.github.io/jzab/master/)
- [Javadoc](http://zk1931.github.io/jzab/master/javadoc/)
Requirements
------------
- JDK 1.7 or later: `javac -version`
- Maven 3 or later: `mvn -v`
- Protocol Buffers compiler 2.6.*: `protoc --version`
How to build
------------
To build the project, run:
mvn verify