When working with Apache Flink users, we see many different types of stream processing applications being implemented on top of Apache Flink. Over time, we noticed common patterns and saw how most streaming applications can be reduced to a few core archetypes or “application blueprints”. In this talk we will outline a few of these “stream processing application blueprints” in a practical, hands-on format, and also take a look at operational considerations.
In the first half of the talk, we will quickly recap the basics of the modern stream processing space and also take a look at the challenges posed by stateful and event-time aware stream processing.
In the second half, we will look at common application blueprints and see how they can be applied in practice. Among the archetypes we will cover:
- Aggregating IoT event data, in which event-time aware processing, handling of late data and state are important
- Data enrichment, in which a stream of real-time events is “enriched” with data from slowly-changing database of supplemental data points
- Dynamic stream processing, in which a stream of control messages and dynamically-updated user logic is used to process a stream of events for use cases such as alerting and fraud detection