4 Types of Event-Driven Architecture by Martin Fowler

    1. Event Notification
      Address change in CRM can be sent to  Quoting System through the event. e.g. address changed.
      – Reverse the dependency from CRM to Quote system.
      – Message becomes a thing(object) to record and pass around.
      – events vs commands
      – pub/sub is nice as subscribers can sub independently.Cons: How to know what’s happening after the publishing event.
    2. Event-carried State Transfer
      – Downstream system stores necessary data copied from the upstream system. – This helps the event receiver doesn’t request detail of the event for action.Cons: replicated data -> eventual consistency.
    3. Event Sourcing
      – Rebuild state from the event log.
      – Often comes with a snapshot.
      – e.g. Source Control System.
      – e.g. Bank account history.Pros:
      – Audit
      – Debugging
      – Historic State
      – Alternative State<
      – Memory Image: Have state in memory rather than RDB.Cons:
      – Unfamiliar, External Systems may not provide historic state, Event Schema, Event Identifiers.
      – Complexity: Asynchrony, Versioning.
    4. CQRS
      Separate model/logic for the update process from the reading process.

Reference: GOTO 2017 • The Many Meanings of Event-Driven Architecture • Martin Fowler




If you enjoyed this post, please consider leaving a comment or subscribing to the RSS feed to have future articles delivered to your feed reader.

Leave a comment

Your email address will not be published. Required fields are marked *