Pattern description
This solution calls for an event-driven architecture (EDA) and complex event processing across independent sets of data. When you leverage an event-driven interaction (versus time/batch-oriented interactions, or request-driven interactions), you expect systems to produce events as they occur and distribute them in an asynchronous fashion. An EDA lets an organization respond quickly to opportunities or threats to the business, reduces latency of business processes, and improves the overall availability of strategic information.
A well-built event processing engine will act as an efficient intermediary that filters out noise and amplifies events that demand attention. Such an engine also may transform the raw events into more canonical formats, enrich events with reference or lookup data, or even create entirely new events based on detected patterns. Ideally, the engine can also reorder out-of-sequence events, perform aggregations (for example, count, produce averages...