Get the Book

Print copies: Digital copies:
  • Sign into your O'Reilly account, OR Start your free trial on this page
  • Once you are signed in, start reading the first chapter here

Help the Book

  • Read the book and provide honest feedback to help us create an awesome reading experience. All feedback is welcome
  • Review the book here and on Amazon
  • Star the code repository
  • Follow @kafka_book on Twitter (character limits... sigh)
  • Share the book, website, and/or code with your friends and colleagues

About the author

My name is Mitch Seymour and I am a tech lead and staff engineer on the Data Services team at Mailchimp. I have been working with Kafka Streams since 2016 and ksqlDB since 2017 (back when it was just called KSQL). I have spoken about these technologies at company tech talks, local meetups, and international conferences (Kafka Summit London, 2019). I have also contributed to the ksqlDB code base and the Confluent blog. This book is my newest and biggest venture yet, and I am excited to share these technologies with the world.

Outside of work, I am a proud father and husband. I also run a non-profit called Puplift, eat a lot of Thai food, and occasionally make music. I am excited to add "Author" to the many hats I currently wear, and I hope you enjoy reading this book.


 If you would like to receive updates about this book, please provide your email below.



First and foremost, I want to thank my wife, Elyse, and my daughter, Isabelle. Writing a book is a huge time investment, and your patience and support through the entire process helped me immensely. As much as I enjoyed writing this book, I missed you both greatly, and I look forward to having more date nights and daddy-daughter time again.

I also want to thank my parents, Angie and Guy, for being a never ending source of encouragement. When others say my ideas or ambitions are unrealistic, you remind me that hard work can overcome the limitations other people set for you.

This book would not be possible without the following people, who dedicated a lot of their time to reviewing its content and providing great feedback and advice along the way: Matthias J. Sax, Robert Yokota, Nitin Sharma, Rohan Desai, and Jeff Bleiel. Thank you all for helping me create this book, it’s just as much yours as it is mine.

Many of the tutorials were informed by actual business use cases, and I owe a debt of gratitude to everyone in the community who openly shared their experiences with Kafka Streams and ksqlDB, whether it be at conferences, on podcasts, blogs, or even in-person interviews. Your experiences helped shape this book, which puts a special emphasis on practical stream processing applications. Nitin Sharma also provided ideas for the Netflix-inspired ksqlDB tutorials, and Ramesh Sringeri shared his stream processing experiences at Children’s Healthcare of Atlanta, which inspired the predictive healthcare tutorial. Thank you both.

Special thanks to Michael Drogalis for being a huge supporter of this book, even when it was just an outline of ideas. Also, thank you for putting me in touch with many of this book’s reviewers, and also Jay Kreps, who graciously wrote the forward. The technical writings of Yeva Byzek and Bill Bejeck have also set a high bar for what this book should be. Thank you both for your contributions in this space.

There have been many people in my career that helped get me to this point. Mark Conde and Tom Stanley, thank you for opening the doors to my career as a software engineer. Barry Bowden, for helping me become a better engineer, and for being a great mentor. Erin Fusaro, for knowing exactly what to say whenever I felt overwhelmed, and for just being a rock, in general. Justin Isasi, for your continuous encouragement, and making sure my efforts don’t go unrecognized. Sean Sawyer, for a suggestion you made several years ago, that I try a new thing called “Kafka Streams”, which has clearly spiraled out of control. Thomas Holmes and Matt Farmer, for sharing your technical expertise with me on many occasions, and helping me become a better engineer. And to the Data Services team at Mailchimp, thanks for helping me solve some really cool problems, and for inspiring me with your own work.