Event-Driven Architecture-Banking
Upender Devarasetti (UD)
Chief Digital Architect | IT Architect Consultant | Podcast Host
In an event-driven architecture applications interact by producing and consuming events. An event is an immutable notification of the change of state of a business entity or user action within an application. One or more applications may subscribe to events of interest. Events are typically communicated via a messaging system.
Several application architecture patterns may be built upon events including:
? Events — a basic form of communicating events between applications via a messaging system and typically does not persist events in the long term.
? Event Streams — a continuous flow of events that may be used to derive valuable business insights utilizing event processing, analyzing, combining, and enriching event data from which a subsequent stream may be derived, or an action may be performed.
? Clickstreams — events representing user interactions with a user interface including clicks, mouse movements, and gestures that may be analyzed to gain a deeper understanding of user behavior. Analysis may be offline or in real-time which results in actions.
? CQRS — Command Query Responsibility Segregation establishes different models for reading and writing information, gaining the opportunity to independently optimize each path. A combination of API style integration (for reads and commands) and Messaging style (for updates between write and read models) are typically used with this approach.
? Event Sourcing — each change of state of a business entity is stored as an immutable event from which an aggregate may be formed by reading back the events in a sequence to derive the final representation.
领英推荐
The purpose of the event-driven architecture can be one of the following categories:
· Integration — Used to trigger action in other applications.
· Activity history — Show a historical interaction history. Used by the call center. Various granularities may be deployed; high-level events such as account opened, password changed, customer called call-center or fine-grained events such as clickstream, used clicked payment view, user clicked settings
· Replication — Used to propagate data to other systems to hold data locally that they need. This supports autonomous microservices that access their copy of the data.
· Real-time stream processing — Analyze and derive insight from which action or new stream may be produced.
-Upender Devarasetti (UD)