Skip to content

References

Marco Neumann edited this page Aug 25, 2022 · 3 revisions

This contains a list of references that are useful when implementing the Apache Kafka protocol.

Clients / Protocol Implementations

There are not THAT many actual client implementations, most of them are wrappers around librdkafka.

Name Language Source Code
Apache Kafka Java, Scala https://github.com/apache/kafka
librdkafka C https://github.com/edenhill/librdkafka
Sarama Go https://github.com/Shopify/sarama
franz-go Go https://github.com/twmb/franz-go
kafka-rust Rust https://github.com/kafka-rust/kafka-rust
kafka-protocol-rs Rust https://github.com/tychedelia/kafka-protocol-rs
Marwes/kafka-protocol Rust https://github.com/Marwes/kafka-protocol
Wireshark C https://github.com/wireshark/wireshark

Brokers

Name Language Source Code Notes
Apache Kafka Java, Scala https://github.com/apache/kafka
Redpanda C++ https://github.com/redpanda-data/redpanda
Kafka-on-Pulsar Java https://github.com/streamnative/kop Uses Apache Kafka protocol implementation

Documents

Name Link
Apache Kafka Documentation -- Messages https://kafka.apache.org/documentation/#messages
Kafka Protocol Guide https://kafka.apache.org/protocol

KIPs

KIPs (Kafka Improvement Proposals) that are important:

Related

Related information that is indirectly part of the protocol (or our interpretation of it):

Clone this wiki locally