Jocko alternatives and similar packages
Based on the "Server Applications" category.
Alternatively, view Jocko alternatives based on common mentions on social networks and blogs.
-
etcd
Distributed reliable key-value store for the most critical data of a distributed system -
Caddy
Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS -
consul
Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure. -
Vault
A tool for secrets management, encryption as a service, and privileged access management -
apex
Build, deploy, and manage AWS Lambda functions with ease (with Go support!). -
RoadRunner
π€― High-performance PHP application server, process manager written in Go and powered with plugins -
SFTPGo
Fully featured and highly configurable SFTP server with optional HTTP/S, FTP/S and WebDAV support - S3, Google Cloud Storage, Azure Blob -
Ponzu
Headless CMS with automatic JSON API. Featuring auto-HTTPS from Let's Encrypt, HTTP/2 Server Push, and flexible server framework written in Go. -
Flagr
Flagr is a feature flagging, A/B testing and dynamic configuration microservice -
algernon
Small self-contained pure-Go web server with Lua, Markdown, HTTP/2, QUIC, Redis and PostgreSQL support -
Trickster
Open Source HTTP Reverse Proxy Cache and Time Series Dashboard Accelerator -
Key Transparency
A transparent and secure way to look up public keys. -
Rendora
dynamic server-side rendering using headless Chrome to effortlessly solve the SEO problem for modern javascript websites -
jackal
π¬ Instant messaging server for the Extensible Messaging and Presence Protocol (XMPP). -
Golang API Starter Kit
Go Server/API boilerplate using best practices DDD CQRS ES gRPC -
go-feature-flag
GO Feature Flag is a simple, complete and lightweight feature flag solution 100% Open Source. ποΈ -
Euterpe
Self-hosted music streaming server πΆ with RESTful API and Web interface. Think of it as your very own Spotify! βοΈπ§ -
goproxy
π¦ goproxy is a proxy server which can forward http or https requests to remote servers./ goproxy ζ―δΈδΈͺεε代ηζε‘ε¨οΌζ―ζ转ε http/https θ―·ζ±γ -
Eru
Eru, a simple, stateless, flexible, production-ready orchestrator designed to easily integrate into existing workflows. Can run any virtualization things in long or short time. -
marathon-consul Β Β Β
Integrates Marathon apps with Consul service discovery. -
cortex-tenant
Prometheus remote write proxy that adds Cortex/Mimir tenant ID based on metric labels -
go-proxy-cache
Simple Reverse Proxy with Caching, written in Go, using Redis. -
lets-proxy2
Reverse proxy with automatically obtains TLS certificates from Let's Encrypt -
Simple CRUD App w/ Gorilla/Mux, MariaDB
Simple CRUD Application with Go, Gorilla/mux, MariaDB, Redis. -
simple-jwt-provider
Simple and lightweight provider which exhibits JWTs, supports login, password-reset (via mail) and user management. -
protoxy
A proxy server than converts JSON request bodies to protocol buffers -
go-fitbit
Fitbit API for Go to fetch, add, update and delete data on Fitbit using REST API -
riemann-relay
Service for relaying Riemann events to Riemann/Carbon destinations
Clean code begins in your IDE with SonarLint
Do you think we are missing an alternative of Jocko or a related project?
Popular Comparisons
README
Jocko
Kafka/distributed commit log service in Go.
Goals of this project:
- Implement Kafka in Go
- Protocol compatible with Kafka so Kafka clients and services work with Jocko
- Make operating simpler
- Distribute a single binary
- Use Serf for discovery, Raft for consensus (and remove the need to run ZooKeeper)
- Smarter configuration settings
- Able to use percentages of disk space for retention policies rather than only bytes and time kept
- Handling size configs when you change the number of partitions or add topics
- Learn a lot and have fun
TODO
- [x] Producing
- [x] Fetching
- [x] Partition consensus and distribution
- [ ] Protocol
- [x] Produce
- [x] Fetch
- [x] Metadata
- [x] Create Topics
- [x] Delete Topics
- [ ] Consumer group [current task]
- [x] Discovery
- [ ] API versioning [more API versions to implement]
- [ ] Replication [first draft done - testing heavily now]
Hiatus Writing Book
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.
Reading
- How Jocko's built-in service discovery and consensus works
- How Jocko's (and Kafka's) storage internals work
Project Layout
βββ 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
Building
Local
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 yourPATH
)
Docker
docker build -t travisjeffery/jocko:latest .
Contributing
See [CONTRIBUTING](CONTRIBUTING.md) for details on submitting patches and the contribution workflow.
License
Jocko is under the MIT license, see the [LICENSE](LICENSE) file for details.
- travisjeffery.com
- GitHub @travisjeffery
Twitter @travisjeffery
Medium @travisjeffery
*Note that all licence references and agreements mentioned in the Jocko README section above
are relevant to that project's source code only.