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.
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 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 - 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?
Consistency Measurement - understanding key operational metrics of a distributed event driven system
It is very rare for an application or system to exist in isolation. Systems need to be integrated to deliver business value.