Kafka/distributed commit log service in Go.
I’m writing a book for PragProg called Building Distributed Services with Go. You can sign up on this mailing list and get updated when the book’s available. It walks you through building a distributed commit log from scratch. I hope it will help Jocko contributors and people who want to work on distributed services.
├── broker broker subsystem
├── cmd commands
│ └── jocko command to run a Jocko broker and manage topics
├── commitlog low-level commit log implementation
├── examples examples running/using Jocko
│ ├── cluster example booting up a 3-broker Jocko cluster
│ └── sarama example producing/consuming with Sarama
├── protocol golang implementation of Kafka's protocol
├── prometheus wrapper around Prometheus' client lib to handle metrics
├── server API subsystem
└── testutil test utils
└── mock mocks of the various subsystems
Clone Jocko
$ go get github.com/travisjeffery/jocko
Build Jocko
$ cd $GOPATH/src/github.com/travisjeffery/jocko
$ make build
(If you see an error about dep
not being found, ensure that$GOPATH/bin
is in your PATH
)
docker build -t travisjeffery/jocko:latest .
See CONTRIBUTING for details on submitting patches and the contribution workflow.
Jocko is under the MIT license, see the LICENSE file for details.
GitHub @travisjeffery
Twitter @travisjeffery
Medium @travisjeffery