New to Kafka? Start here!
Kafka, Kafka Streams, kSQL DB are all possibly new to you. Kafka is, in the simplest terms, a distributed data store that is append only. Kafka Streams is a stream processing library built on top of Kafka. kSQL DB is a higher sql-like abstraction over Kafka Streams which allows the user to do complicated stream processing through a sql-like syntax. These are all explained with much more rigor in the following documenation!
Suggested Reading Order
The libraries / concepts talked about above tend to build on top of eachother. It’s helpful to understand the semantics of Kafka to understand Kafka Streams a little better etc. You can skip ahead if you’d like as well!
Getting Started List
If you’re just looking to start with a subset of materials this ordering may work for you.
- I :heart: Logs
- Kafka Documentation
- Read your preferred libraries documentation
- Designing Event-Driven Systems
- Schema Registry Documentation
What’s next?
With the basis above most of the documentation should be easily accessible. Choosing things you want to learn and read bit by bit should be fine.
Kafka Documentation
Hands on Workshop
Kafka Streams Documentation
Kafka Connect Documenation
Kafka Headers on JVM
Take caution when adding Kafka headers if you’re on the JVM. Kafka’s Headers methods are mutable. Headers#add is a fluent-API method that, instead of returning a new Headers object, mutates the object it’s called on. For additional detail, please review this RCA.
kSQL DB Documentation
Avro and the Schema Registry Documentation
Articles & Papers
Books
- I :heart: Logs (Recommended to start here for books)
- Designing Event-Driven Systems
- Kafka The Definitive Guide
- Making Sense of Stream Processing
- Designing Data Intensive Applications