Event-driven architecture
Patterns and trade-offs for event-driven systems: notification and stateful events, event sourcing, integration, and what consistency means when everything is asynchronous. Written in 2017; read in order.
-
Notification Event Pattern
There are many event patterns or styles in event driven architectures. One of the significant advantages of the notification event pattern is can be introduced into existing systems quite simply to provide a more loosely coupled design.
-
Event-Carried State Transfer Pattern
In contrast to the notification pattern the Event-carried state transfer discourages calls to the publishing service by containing all the required data in the event payload. This decoupling leads to a very clean architecture but not without significant costs.
-
Event Sourcing
Event Sourcing is a fascinating design pattern with some real advantages over maintaining single states within systems. But there is a darker side that requires careful consideration.
-
Consistency
Consistency - the absence of contradiction is a challenge in any application. Event driven asynchronous distributed systems turn up the dial of complexity. What does consistency mean?
-
Integrating Event Driven systems
It is very rare for an application or system to exist in isolation. Systems need to be integrated to deliver business value.
-
Measuring Consistency
Consistency Measurement - understanding key operational metrics of a distributed event driven system
-
Compensating Actions
Consistency - the absence of contradiction is a challenge in any application. Event driven asynchronous distributed systems turn up the dial of complexity. What does consistency mean?