Event Streams in Action teaches you techniques for aggregating, storing, and processing event streams using the unified log processing pattern. In this hands-on guide, you’ll discover important application designs like the lambda architecture, stream aggregation, and event reprocessing. You’ll also explore scaling, resiliency, advanced stream patterns, and much more! By the time you’re finished, you’ll be designing large-scale data-driven applications that are easier to build, deploy, and maintain.
Definitely practical way of teaching event based processing. Focuses more on how to use event streams in various technical solutions. Many tools presented, but I had a feeling that it destracts form learning main topic (you would touch gradle, scala, aws).
If you're just starting with event streams then definitely worth reading, especially if you prefer hands on approach over learning theory first.
The book is an introduction to building data infrastructure around real-time event streams, in a paradigm that the authors promote as unified log. It is therefore less of a dedicated introduction to building systems around one of more popular streaming platforms like Apache Kafka and Amazon Kinesis.
All the concepts are illustrated through quasi-real-world examples drawn from fictitious companies, and they are intermixed across different chapters. This created some coupling that makes reading each chapter independently less of a breeze. The code examples are given throughout the book. This is fine by itself, but Java, Scala, and Python (much less of this) are mixed. The mixing makes the example harder to follow if you are not already familiar with any of them.
Overall, I learned a good amount in terms of concepts. The delivery, however, I feel could have been better for the reasons above.
This book describes basic terms related to the topic, by solving simple and fictitious problems using Amazon IaaS services and some open source tools such as Redshift, Kinesis, Kafka, Scala, Spark, Avro. I think that by simply removing the tool-centric content, the whole concepts could be summerised in 2 or 3 blogposts. Anyway! This book is a simple and easy-to-read book for someone who's new to the topic.
Event Streams in Action is aligned with Manning Publisher naming convention which means that series in Action are meant to be introduction to certain topic. The same in case of this book. I've read it from cover to cover. We are currently living in Event Streams epoch so most not legacy systems which are used in enterprise environment are using kind of event streams. Now comes more and more popular approach called unified log which are implemented both in very popular nowadays Kafka as well as in AWS Kinesis. The book introduces reader to those concepts showing basing on simple examples evolution towards Unified Log approach.
The book contains examples how to use, Kafka and Kinesis in practice. How to install Kafka, create first stream, then process it. Then how to do the same with Kinesis. Authors shows how to process not only stateless streams which is more straightforward but also state-full which is much more complicated. This is described using example of customers which are making their transactions on line and for e.g. from time to time abandons their cart. Then authors introduces tools like YARN and Samza.
In next part authors depict next popular application of streams, which is Schemas, Archiving Events, Processing or Commands. In those chapters there are good introductions to those topics. Tools like AVRO, Spark, Secor are briefly presented and used. So if reader seeks a solution for particular issue. I think that those chapters are good starters. Some pros and cons are described.
To this point most of examples are illustrated with Java, from there to the end of the book examples are written in Scala. I know a Scala and I see it in some areas prevails over the Java. Nevertheless I was a bit disappointed, because Scala is a still niche language. And some of those examples due to that I'm less familiar with the syntax was not so obvious. However I'm aware that for some it could be advantage that those examples are in Scala.
Last third part i devoted to analytics-on-write and respectively analytics-on-write . Both concepts are then explained and tools with their example of usage are described. Those tools are Amazon RedShift and DynamoDB + Lambda. In both cases authors describes pros and cons and someways how to deal with cases like races. Or how to implements more or less simple analyses.
I find the book worth reading and I will for sure come back to it in future.
As many people have mentioned, this book is essentially Stream Processing 101. However, even as an introductory book, it covers too little, especially when I was hoping for more examples of stateful stream processing. Unfortunately, this part is barely touched upon. There is also no discussion on the architectures of various stream processing engines, or mechanisms like state recovery, etc. The only good part, in my opinion, is that the accompanying diagrams are very clear and well-aligned with the explanations. Overall, I wouldn't recommend reading this book.
It is a helpful book when you can work with the same tools as the author used to explain Event Streams. I was more interested in the concept itself and how this approach would influence the way I build applications. Those parts where not covered in enough details and I will need other books to find my answers.
This book describes Kafka. But focus on many aspects of processing events. Many examples are in Scala instead of Java. In my opinion, after reading this book you still need some other book that focuses on Kafka not exactly JSON schemas and other tools useful to processing event streams.
Looking for an introduction to event streaming and or using a unified log. I would recommend this book. It gets into some details of software using the JVM, not my area but close enough that I understood the concepts.
This book was worth my time and I appreciated the others style.