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.