Hi, Flink community! :grin: I recently built a hig...
# show-and-tell
s
Hi, Flink community! 😁 I recently built a high-performance Ad Frequency Capping system at Toss to ensure precise real-time counting for ad exposures and clicks. Since this data directly impacts budget efficiency and revenue, we needed a solution that remains accurate across lookback periods ranging from 1 minute to 7 days. To achieve this at scale, we implemented a unified state-based approach using Flink Timers instead of the standard Sliding Window operator. This gave us the granular control needed for event-level expiration while managing massive state sizes. Our technical deep-dive covers: • Custom Sliding Logic: Managing event-level expiration for 1-minute to 7-day durations using Flink Timers. • RocksDB Optimization: Strategies to resolve Write Stalls and Filter Block Cache Misses under Direct I/O environments. • State Scalability: Leveraging Flink Changelog (DSTL) to handle large-scale state and resolving complex Savepoint deadlocks. • Operational Reliability: Ensuring data consistency during the critical transition from Backfill to Real-time Catch-up. If you're interested in how we tuned Flink for long-term state and high-throughput ad-tech workloads, check out the full post: Blog Post: https://toss.tech/article/flink-realtime-frequency-capping Linkedin: https://www.linkedin.com/posts/seungminlee0127_apache-flink-rocksdb-%ED%8A%9C%EB%8B%9[…]m=member_desktop&rcm=ACoAADhWrVwBMAtsg_7tgh9WANuY_Dk5cbS0Rec (Note: The post is in Korean, but the architecture diagrams and code snippets should be quite helpful!)
🙌 1
🫡 1
flink 2