-
Notifications
You must be signed in to change notification settings - Fork 42
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.
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 |
| 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 |
| Name | Link |
|---|---|
| Apache Kafka Documentation -- Messages | https://kafka.apache.org/documentation/#messages |
| Kafka Protocol Guide | https://kafka.apache.org/protocol |
KIPs (Kafka Improvement Proposals) that are important:
- KIP-32: Add timestamps to Kafka message
- KIP-74: Add Fetch Response Size Limit in Bytes
- KIP-79: ListOffsetRequest/ListOffsetResponse v1 and add timestamp search methods to the new consumer
- KIP-98: Exactly Once Delivery and Transactional Messaging
- KIP-482: The Kafka Protocol should Support Optional Tagged Fields
Related information that is indirectly part of the protocol (or our interpretation of it):