DDD and Messaging Architectures

An overview of my different series on patterns in distributed systems.

By Mathias Verraes
Published on 21 May 2019

My aim is to identify, name, and document patterns, that I’ve used or encountered in my consulting practice. All patterns are anti-patterns when used in the wrong context, so I try to add heuristics, trade-offs, and caveats.

You can help: tell me your experiences, point me to other people’s writings on patterns, distill your own heuristics, …


  1. Eventsourcing: State from Events or Events as State?
  2. Patterns Are Not Defined by Their Implementation

Patterns for Decoupling in Distributed Systems

  1. Domain Queries
  2. Summary Event
  3. Completeness Guarantee
  4. Passage of Time Event
  5. Fat Event
  6. Explicit Public Events
  7. Segregated Event Layers

Eventsourcing Patterns

  1. Forgettable Payloads
  2. Crypto-Shredding
  3. Decision Tracking
  4. Migration Events in a Ghost Context
  5. Multi-temporal Events

General Messaging Patterns

  1. Ephemeral Events
  2. Throttling
  3. Change Detection Events
  4. Natural Language Message Names


  1. EventSourcing Testing Patterns

Note: I teach workshops about DDD for Messaging Architectures.