Good resources for learning about Apache Kafka
Apache Kafka is becoming more and more popular. Plenty of Kafka related content is being published. However, where to start if you don’t know too much about it? Or where to get to know more if you already know the basics? That’s the questions I’ll try to answer today.
Beginner
First, to get basic info you may want to take a look at James Ward presentation from Devoxx US: Introduction to Apache Kafka
Then, if you have more time, a good learning source would be a book created by Kafka Team members: “Kafka: The Definitive Guide” .
If you’d like to dive deeper, there is a Conflunce page with links to various Kafka Presentations and papers describing Kafka’s design.
It’s also worth to discover who and why uses Apache Kafka, to get the idea what are the use cases for it.
Alternatively, you may want to buy one of available paid Kafka courses on Udemy or Pluralsight.
Warning: since Kafka is on the market already for almost 10 years, some of the materials describe quite old Kafka versions. Basic fundamentals for various versions are the same.
Advanced
Once you know how Kafka works, it is time to dive into details. Kafka & Confluent documentations describes the architecture, various internal mechanisms and all possible Broker, Topics, Producers and Consumers configs. If it’s too long, then you can take a look at the summary, e.g. blogpost about 7 most common mistakes done when using Kafka.
However, to get to the meat of Kafka, you should dive into the list of Kafka Improvement Proposals (KIPs). You’ll find there designs and discussions around various features introduced in each released or upcoming Kafka versions.
After the whole journey, and once you are sure about your skills, you may consider passing the Confluent Certifications. If you’ll encounter any questions you can also join the Confluent Community Slack, where people are quite eager to answer all Kafka-related questions. Confluent also aggregates links to various Kafka related presentations and use cases.
Get “Start with Apache Kafka eBook” — the essentials for implementing a production Kafka.
Sharing Kafka expertise
Our company works with Kafka on daily basis. We create a lot of related content with our lessons learned from various projects. If you’re interested then you may take a look at:
- Benchmarks comparing various message queues performance
- Explanation how exactly-once semantics works in Kafka
- Article about Kafka order of messages and how various settings influence it
- Article about Event sourcing architecture based on Kafka
- How to deduplicate your events using Kafka Streams?
- How to autoscale your Kafka Streams application on Kubernetees, but also how to define Healthchecks?
- And many more content on SoftwareMill Blog
We’re also doing Kafka Trainings and Consulting. We’re a Partner of Confluent and we really enjoy using their toolset, as do the attendees — they rate our trainings “Very Good”. If you also need help with Kafka, contact us!