It's a really easy and fast read. I used it heavily the past few days while looking for references. O'Reilly's "Streaming Systems" from 2018 is usually my go-to book for cherry-picking references.
However, "Grokking Streaming Systems" has become my new recommendation for anyone looking to understand and learn more about streaming systems and the concept of streaming data itself.
Compared to the "Streaming Systems" book, this one is language-agnostsic and technology-agnostic. You are actually learning the concept per se. This comes with the trade-off that you're expected to think on a meta-level, unbound from the thought and association with a specific language, such as Java. If this makes the concepts harder to grasp, don't give up!
The book utilizes visual aids through "cartoon" illustrations, architecture, and process flow diagrams, which, in my opinion, is superior.
If you follow the book's narrative, which revolves around an "imaginary" streaming framework that you build through the contents of the book called "Streamwork," you'll gain solid foundational knowledge that is transferable when working with various Apache projects around data streaming, and message buses, such as Kafka, etc.
Q.E.D., give the book a try if this is your area of interest.
This book is short but packed with useful information, making it a great introduction to stream processing for beginners. It does a good job of covering some key concepts without feeling overly wordy or dragging on too long. One of the nice touches is that it comes with a basic Java engine implementation to complement the first five chapters, and the examples are pretty straightforward and easy to follow.
That said, the book does have a few downsides. A lot of the explanations don’t go very deep, and the examples are pretty basic. If you’re looking for insights into more complex scenarios or real-world challenges, you might feel a bit underwhelmed. The biggest issue, though, is the incomplete codebase that goes along with the book. For example, in Chapter 5, there are some code files that aren’t even mentioned in the text, leaving you wondering what they’re for. And as the book progresses, the code coverage becomes even more sparse, which is pretty disappointing if you’re hoping for more practical guidance.
It’s a good introduction to streaming systems. Don’t expect to be a master by the end of this book but rather, use this book as a stepping stone before learning in depth/working with streaming systems. After reading this book, I would jump on framework documentation: Flink, Spark etc. This book doesn’t focus on a specific framework which is great.
Short, but informative. It uses its own toy streaming platform, so it's divorced from any particular technology. You can probably blow through it in a weekend if you are an experienced developer, but it's a great introduction to the subject before moving on to other, more specialized books.