Real-Time Ad Event Pipelines: Lessons from Netflix
Understand how to design scalable event enrichment pipelines using streaming joins, choose the right delivery guarantee per layer, and safely migrate a revenue-critical production system without downtime
4 sections ยท 13 lessons
Course outline
The Problem: Synchronous Writes on the Critical Path
- What is the critical path in ad serving?
- The Metadata Registry bottleneck at Live scale
- Fire-and-forget logging vs. synchronous write-and-wait
Streaming Joins with Apache Flink
- How Flink stateful stream processing works
- KeyedCoProcessFunction: owning the join at the lowest API level
- The 60-minute match window and long-tail recovery
- Keeping stateful jobs lean: one job, one responsibility
Cross-Region Routing and Delivery Guarantees
- Route the event, not the data
- At-least-once vs. exactly-once: choosing the right guarantee per layer
- Downstream idempotency: letting each consumer own its guarantee
Safe Production Cutover
- Running two pipelines in parallel with shared enrichment logic
- Deterministic traffic splitting: avoiding double-counting
- Incremental rollout and knowing when to decommission