Load Imbalance
summary
Describes how MCAS used Apache Flink for real‑time anomaly detection and handled skewed key distributions and huge per‑key state. They split a heavy operator into an Aggregator and Writer, introduced configurable sub‑keys to spread a hot key across N aggregators (MapReduce/combiner style), and replicated/synced per‑key state across those aggregators. To avoid long, blocking iterations over large MapState, they implemented a ShardedMapState wrapper that breaks a key’s MapState into multiple MapState shards plus ValueState so iteration can proceed in chunks without blocking the pipeline.
AI-written summary · about
chapters (9)
- 0:00Intro
- 0:19Microsoft Cloud App Security (MCAS)
- 1:02MCAS Use Case
- 1:50Imbalance Problem
- 2:32Chain of Problems
- 4:04Partitioning Mechanism
- 4:36High Volume Customer Solution
- 6:51Huge State Iteration Problem
- 7:54Sharded State Solution
related talks
43mDynamic Scaling - How Apache Flink adapts to changing workloads
29mManaging State in Apache Flink
27mData enrichment patterns with Apache Flink
42mApache Flink Worst Practices
42mApache Flink deep-dive #bbuzz
37mBuilding and operating large-scale streaming applications at King
50mStream Processing Smackdown: Kafka Streams vs. Apache Flink
37mThe Future of Apache Flink
