Video Access-Log Processing with Apache Flink
summary
Mux processes CDN access logs to meter per-account, per-asset video usage and power no-commit utility billing by enriching logs, windowing them by event time, and writing hourly usage to Postgres. The pipeline uses Apache Flink for exactly-once enrichment and event-time windows with three hours allowed lateness, Kafka for raw and enriched topics, and Redis + CockroachDB for asset lookups. The system scales by changing Flink parallelism and survived large spikes without double-billing.
AI-written summary · about
chapters (13)
- 0:00Intro
- 0:33Agenda
- 2:37Web Video Primer: Media Request Sequence
- 4:14Web Video Primer: System Interactions
- 4:45What is Utility Billing?
- 5:15Challenges with Utility Billing:Log Enrichment
- 5:34Utility Billing Challenges: Thundering Herd Problem
- 6:11Utility Billing Challenges: Late/Unordered Data
- 7:03Serve the Video
- 8:41Step 2: Collect CDN Access Logs
- 10:48Step 3: Enrich Access Logs
- 15:46Utility Billing Usage Calculations
- 17:16Summary
related talks
45mApache Flink — Real-Time Data Processing
43mA Data Streaming Architecture with Apache Flink #bbuzz
30mBuild and run streaming applications with Apache Flink and Amazon Kinesis Data Analytics
19mStreaming Event-Time Partitioning With Apache Flink and Apache Iceberg
27mIntroduction to Flink in 30 minutes
34mBeaming Flink to the Cloud @ Netflix
40mRobust Stream Processing with Apache Flink
49mscale.bythebay.io: Stephan Ewen, Apache Flink and the Next Wave of Stream Processing Applications
