An Integration Event is a message that informs components outside of the source Bounded Context that something of significance has happened. An Integration Event does NOT lead to any state changes in the source Bounded Context.
Are different from targeted consumer perspective. Integration event consumers are outside the source Bounded Context.
From content and handling perspective, they are no different than the domain events
Asynchronous communication is preferred:
In this illustration:
Domain | Integration |
---|---|
Within a BC or Microservice | Between BC |
State changes in BC | NO state change in source BC |
Direct function calls | Must be a Network protocol |
Synchronous calls | Asynchronous preferred |
Modeled as part of BC model | Consumer uses Tactical pattern |