Mastering Patterns in Event-Driven Architecture
Published by O'Reilly Media, Inc.
Achieving better responsiveness and scalability in your systems
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. Building an event-driven architecture is hard—really hard.
Expert software architect Mark Richards takes you through the advanced design patterns that will help you achieve better responsiveness and scalability in your event-driven architecture. Join in to get hands-on with the tools and techniques to tackle the hard parts of event-based processing. 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.
What you’ll learn and how you can apply it
By the end of this live online course, you’ll understand:
- How to guarantee that no messages are lost when using events and messaging
- How to provide elasticity and scalability without impacting responsiveness
- How to handle asynchronous error conditions
- How to guarantee message processing order with highly parallel processes
- How to significantly increase overall message throughput when that throughput exceeds broker limits
- How to properly deal with message priority and contextual messages
- When to apply these patterns and when not to
And you’ll be able to:
- Increase the scalability of your applications
- Increase the responsiveness and overall performance of your applications
- Increase the elasticity of your applications
This live event is for you because...
- You're an architect or developer designing or building event-driven systems.
- You want to better understand the complexities of event-driven systems.
- You want to apply various patterns of event-driven architecture to better deal with error handling, scalability, elasticity, responsiveness, and other event-driven challenges.
Prerequisites
- A working knowledge of messaging and event-based systems
- A basic understanding of how messaging (queues and topics) works
Recommended preparation:
- Explore relevant sections of Enterprise Messaging Techniques (learning path)
- Watch relevant sections of Enterprise Messaging: JMS 1.1 and JMS 2.0 Fundamentals (video, 5h 29m)
- Watch relevant sections of Enterprise Messaging with JMS: Advanced Topics (video, 3h 52m)
- Read relevant chapters of Java Message Service, second edition (book)
Recommended follow-up:
- Explore Event Driven Microsystems (course)
- Read Designing Event-Driven Systems (report)
Schedule
The time frames are only estimates and may vary according to how the class is progressing.
Introduction (10 minutes)
Events vs. messages (10 min)
Extensible events pattern (5 min)
Event contract patterns (25 min)
Break (10 min)
Swarm of gnats event anti-pattern (10 min)
Database topology patterns (40 min)
Break (10 min)
Thread delegate pattern (20 min)
Broker patterns (10 min)
Workflow state patterns (10 min)
Supervisor consumer pattern (20 min)
Your Instructor
Mark Richards
Mark Richards is an experienced, hands-on software architect involved in the architecture, design, and implementation of microservices architectures and other distributed systems in a variety of technologies. He has been in the software industry since 1983 and has significant experience and expertise in application, integration, and enterprise architecture. Mark is the founder of DeveloperToArchitect.com, a free website devoted to helping developers in the journey to becoming a software architect. In addition to hands-on consulting, Mark has authored numerous technical books and videos, including his two latest books Fundamentals of Software Architecture and Software Architecture: The Hard Parts that he co-authored with Neal Ford. Mark has spoken at hundreds of conferences and user groups around the world on a variety of enterprise-related technical topics.