Summary
Event Streams in Action is a foundational book introducing the ULP paradigm and presenting techniques to use it effectively in data-rich environments.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the Technology
Many high-profile applications, like LinkedIn and Netflix, deliver nimble, responsive performance by reacting to user and system events as they occur. In large-scale systems, this requires efficiently monitoring, managing, and reacting to multiple event streams. Tools like Kafka, along with innovative patterns like unified log processing, help create a coherent data processing architecture for event-based applications.
About the Book
This book 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.
What's inside
Validating and monitoring event streams
Event analytics
Methods for event modeling
Examples using Apache Kafka and Amazon Kinesis
About the Reader
For readers with experience coding in Java, Scala, or Python.
About the Author
Alexander Dean developed Snowplow, an open source event processing and analytics platform.
Valentin Crettaz is an independent IT consultant with 25 years of experience.
Table of Contents
PART 1 - EVENT STREAMS AND UNIFIED LOGS
Introducing event streams
The unified log 24
Event stream processing with Apache Kafka
Event stream processing with Amazon Kinesis
Stateful stream processing
PART 2- DATA ENGINEERING WITH STREAMS
Schemas
Archiving events
Railway-oriented processing
Commands
PART 3 - EVENT ANALYTICS
Analytics-on-read
Analytics-on-
AI Reading Assistant
Whole-book reading guide from stratified index samples; jump to passages in the text
Tip the Site
Support this siteYour recognition and a small knowledge-service contribution help keep this technical work open source.Scan the WeChat Pay or Alipay code below. Logged-in and guest visitors can both tip.
WeChat Pay
Alipay
Open WeChat or Alipay and scan. No login required.
AI guide
【One-Line Pitch】
A hands-on guide to building real-time, event-driven systems around a unified log, using Kafka and Kinesis as the concrete tooling. Best for backend and data engineers with Java, Scala, or Python experience who want to move from batch thinking to continuous event processing.
【Book Arc】
- **Opening (~0%–15%)**: Frames events as a first-class concept, showing how logging, data warehouses, monitoring, and web analytics are already event streams in disguise, then introduces the unified log as the architectural glue that replaces point-to-point integrations.
- **Early (~15%–30%)**: Gets concrete with the unified log: modeling events as JSON, standing up Kafka, and writing/reading events through topics, using a fictional e-commerce retailer (Nile) as the running example.
- **Early–Middle (~30%–45%)**: Builds a first stream-processing app in Java — a pass-through worker, then a single-event processor that validates, enriches (e.g., geo-location), and routes events to good/bad topics; then mirrors the same ideas in Amazon Kinesis with shards, iterators, and boto.
- **Middle (~45%–60%)**: Moves from single-event to multi-event processing — aggregation, pattern matching, sorting — and the stateful stream processing that windows and batches require.
- **Late (~60%–85%)**: Shifts to data engineering concerns: schemas, archiving events, railway-oriented (error-routing) processing, and commands as distinct from events.
- **Ending (~85%–100%)**: Turns to analytics, contrasting analytics-on-read with analytics-on-write and how each shapes the pipeline. (Excerpts do not cover the final chapters in detail.)
【Key Takeaways】
- **The unified log is the architectural centerpiece** (Opening): it replaces a mesh of point-to-point integrations with a single append-only backbone that systems read from and write to, cutting connection complexity dramatically.
- **Events are best modeled as subject-verb-object** (Early): a consistent event grammar (who did what, when, to which object) makes streams queryable and schemas stable across producers.
- **Single-event processing is the on-ramp; multi-event processing is the real work** (Early–Middle): validation, enrichment, and filtering are tractable, while aggregation, pattern matching, and sorting introduce state and windows and are "significantly more complex."
- **Route failures, don't drop them** (Middle): the good/bad/warning topic pattern (railway-oriented processing) keeps bad data observable and reprocessable rather than silently lost.
- **Kafka and Kinesis share concepts but differ in mechanics** (Middle): topics vs. shards, consumer groups vs. shard iterators, and Kinesis's per-shard read/write limits shape how you scale.
- **Reading does not consume** (Middle): events persist in the log after being read, so multiple applications can independently replay the same history — the basis for reprocessing and backfill.
- **Schemas and archiving are first-class data-engineering concerns** (Late): without deliberate schema management and event archiving, event systems rot as producers and consumers drift.
- **Analytics-on-read vs. analytics-on-write is a design fork** (Ending): where you compute aggregates determines latency, flexibility, and storage cost.
【Reading Tips】
- Deep-read Part 1 (chapters on the unified log, Kafka, Kinesis, stateful processing) — it carries the conceptual payload; skim the setup/CLI walkthroughs if you already run Kafka or Kinesis.
- Follow the Nile example end-to-end at least once; the incremental build from pass-through worker to validating/enriching processor is where the mental model clicks.
- Treat the code listings as scaffolding, not reference code — the book reformats and trims them, so download the publisher's source for anything you intend to run.
- Pay attention to the Kafka/Kinesis comparison points (shards, iterators, limits); this is where operational intuition is built.
- If you only have time for one idea, take away the unified log pattern and the good/bad/warning routing discipline.
【Coverage Limits】
This guide is based on stratified excerpts covering roughly the first half of the book plus the table of contents; the later data-engineering and analytics chapters (schemas, archiving, commands, analytics-on-read/write) are described only at the level their titles and framing allow.
Excerpt 1
th Apache Kafka Event stream processing with Amazon Kinesis Stateful stream processing PART 2- DATA ENGINEERING WITH STREAMS Schemas Archiving events Railway...
ey attributes of a unified log Modeling events using JSON Setting up Apache Kafka, a unified log Sending events to Kafka and reading them from Kafka The prev...
exclude "META-INF/*.DSA" exclude "META-INF/*.RSA" } } Note the library dependencies we have added to our app: kafka-clients, for reading from and writing to...
ilable for other applications to consume. It’s not like the act of reading has “popped” these events off the shard forever. We can demonstrate this quickly b...
ured API for interacting with stream processing frameworks. This concludes our introduction to five major stream-processing frameworks, but how do we choose...
e.avro.generic.GenericData; import org.apache.avro.specific.*; Import the Check POJO import plum.avro.Check; autogenerated from the bundled schema. public cl...
names of S3 buckets have to be globally unique. To prevent your bucket’s name from clashing with that of other readers of this book, let’s adopt a naming con...
events archived in a distributed filesystem, we can perform processing on those events by using a batch processing framework such as Apache Hadoop or Apache...
Support this siteYour recognition and a small knowledge-service contribution help keep this technical work open source.
Scan the WeChat Pay or Alipay code below. Logged-in and guest visitors can both tip.
WeChat PayAlipay
Open WeChat or Alipay and scan. No login required.
Add Tag
Enter tag name (max 50 characters)
Share E-Book
Event Streams in Action Real-time event systems with Kafka and Kinesis (Alexander Dean, Valentin Crettaz)(Z-Library)
Scan QR code with your phone to access
Copy the link or scan the QR code to access this e-book on your phone
Share E-Book via Email
Please enter email address
Donation Statistics
¥.00
Total Donations
0
Donation Count
Event Streams in Action Real-time event systems with Kafka and Kinesis (Alexander Dean, Valentin Crettaz)(Z-Library)
Find Your Favorite Books
Only registered users can comment after logging in. Comments need to be reviewed by administrators before being displayed
Loading comments...
Reply to Comment
Edit Comment