Jocko is a Kafka implementation in Go that provides protocol compatibility with Kafka clients while eliminating the ZooKeeper dependency through built-in coordination.
The project addresses the operational complexity of running Kafka by replacing ZooKeeper with Serf for service discovery and Raft for consensus, allowing deployment as a single binary. This approach simplifies cluster management and reduces the number of moving parts operators must maintain. Jocko implements the core Kafka protocol, meaning existing Kafka clients and services can work with it without modification. The tool also introduces more flexible retention policies, supporting percentage-based disk space allocation rather than only byte and time-based limits, and handles configuration changes when partition counts or topics are modified.
Jocko suits teams looking to run a distributed commit log service with minimal operational overhead, particularly those already invested in the Kafka ecosystem who want to reduce infrastructure complexity. The single-binary deployment model makes it attractive for cloud-native environments where simplicity and portability matter. The project is appropriate for those willing to work with an implementation still under active development, as consumer groups remain incomplete and replication is in early testing stages.
The project maintains active continuous integration and code coverage tracking. Development has progressed through implementing core producing and fetching functionality, partition consensus and distribution, topic management, and service discovery, with consumer group support currently in progress. The maintainer has documented the architectural decisions through published articles explaining the service discovery and consensus mechanisms alongside Kafka's storage internals, providing transparency into the design choices.