Event-driven applications with Flink

In time-sensitive cases where the application uses alerting or triggering functions, it is important to distinguish between event time and processing time. To make the designing of applications easier, you can create your Flink application either based on the time when the event is created or when it is processed by the operator.

Event-driven applications can be used in cases where the incoming events need to trigger other internal or external action. Consider an event-driven application ingesting events from multiple sources. If timeliness between input sources is valuable information the most straightforward approach to coordinate that is to write the original timestamp of recording the event to the event itself. For Flink, time is distinguished between event time and processing time as shown in the illustration below. Event time is defined by the time the event is created. Event time is already embedded in the record, before entering Flink. Processing time is the time at which the operator processes data. If an application is process time-based, the system clock on the machine is used for the operations.