← Learning

Kafka Resources

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.

  1. I :heart: Logs
  2. Kafka Documentation
  3. Read your preferred libraries documentation
  4. Designing Event-Driven Systems
  5. 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

JVM Libraries