Mastering Patterns of Event-Driven Architecture

Format: Live Virtual or In-Person Training
Duration: 3-Hour Workshop
Instructor: Mark Richards
Students: Up to 50

Well-built event-driven architectures leverage asynchronous messaging and event processing to decouple services and maximize your system’s responsiveness, performance, scalability, and elasticity. Unfortunately, with all this power comes a fair amount of complexity, making event-driven architectures hard to build.

In this workshop Mark Richards takes you through various event-driven design patterns that will help you achieve better responsiveness and scalability in your event-driven architecture. Through pattern walk-throughs and live code demos, you’ll learn how each event-driven pattern works, the problems it solves, and its trade-offs, ensuring that you can make the best choices for your system.

For more information about the pricing and availability of this course for private (corporate) training, please contact me at For public training offerings for this course, please see my public schedule at my upcoming events page.

Workshop Agenda


  • A review of event-driven architecture
  • Events versus messages: is there a difference?
  • Event payload options and tradeoffs

Event Forwarding Pattern

  • How do you guarantee that no messages are lost when passing data from one service to another?

Thread Delegate Pattern

  • How can you increase the performance and throughput of your system using parallel consumers while still maintaining message processing order?

Ambulance and Carpool Pattern

  • How can you give some events higher priority and still maintain responsiveness for all other events?

Watch Notification Pattern

  • How can you send notification events to services without maintaining a persistent connection to those services?

Supervisor Consumer Pattern

  • How do you handle varying load requests and still maintain a consistent response time?

Multi-Broker Pattern

  • How can you continue to increase the throughput and capacity of your system once you’ve reached the maximum capacity of the event broker?
©2023 DeveloperToArchitect