A Go Kafka client backed by librdkafka.
This is a project for me to learn and experiment with Go features that I don't necessarily have the ability to do through my regular work.
Features are based on my experience using various Kafka clients in Ruby, Java, Scala and Go. The focus is on creating a consumer and producer that integrates cleanly into an application, and takes care of most of the complexity of adding a Kafka client to an application.
See run.go
for example configuration, set up and use. Run with go run run.go
.
- Simple, idiomatic Go consumer and producer interface
- Per-patition consumer
- Extensibility through 'middleware style' interface
- In-partition concurrent message processing
- Be a fully feautred Kafka client e.g. it's very unlikely that this will ever implement admin fuctions
- Be a clone of confluent-kafka-go
Almost certainly not.