Chapter 11. Event-Driven Architecture: Asynchronous Adventures

Image

What if your architecture could do lots of things at the same time? As businesses grow and become more successful, they need to be able to handle more and more users, without slowing down or crashing systems. In this chapter, you’ll learn how to design high-performance systems that can scale as a business grows. Get ready for event-driven architecture, a highly popular distributed architectural style. It’s very fast, highly scalable, and easy to extend—but it’s also quite complex. You’ll be learning about lots of new concepts in this chapter, including things like events, messages, and asynchronous communication, so you can create an architecture that can do many things at once. Fasten your seatbelt, and let’s go on an asynchronous adventure through event-driven architecture.

Too slow

Imagine going to your favorite diner to order their famous grilled cheese sandwich, crispy fries, and a chocolate milkshake. Sounds easy, right? But what if the person taking your order had to make all of those things one at a time, without any help? Not only would everything take longer, but the diner wouldn’t be able to serve as many customers. Let’s visualize that workflow:

Image

This is no way to run a diner! Let’s see if we can ...

Get Head First Software Architecture now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.