Event Driven Architecture
Event-driven architecture (EDA), is a software architecture pattern promoting the production, detection, consumption of, and reaction to events.
An event can be defined as "a significant change in state". For example, when a consumer purchases a car, the car's state changes from "for sale" to "sold". A car dealer's system architecture may treat this state change as an event whose occurrence can be made known to other applications within the architecture. From a formal perspective, what is produced, published, propagated, detected or consumed is a (typically asynchronous) message called the event notification, and not the event itself, which is the state change that triggered the message emission. Events do not travel, they just occur. However, the term event is often used metonymically to denote the notification message itself, which may lead to some confusion. This is due to Event-Driven architectures often being designed atop message-driven architectures, where such communication pattern requires one of the inputs to be text-only, the message, to differentiate how each communication should be handled.
Source: https://en.wikipedia.org/wiki/Event-driven_architecture
Presentations
Opportunities and Pitfalls of Event-Driven Utopia
Event-driven architectures are on the rise. They promise both better decoupling of components by using an event bus and improved scalability in terms of throughput. Decoupled modules help to scale your software development efforts itself. Event streaming promises to handle ever-growing amounts of...
PracticalDDD: Bounded Contexts + Events => Microservices
Domain Driven Design and Messaging go hand in hand, like a warm chocolate brownie paired with vanilla ice-cream! DDD is a software discipline that allows you to move faster and write high-quality code. The whole point is to align the software you write to be flexible with the business changes....
The Not-So-Straightforward Road From Microservices to Serverless
For the last ten years or so, many companies have focused on migrating from larger, monolithic systems and applications towards a specific style of Service-Oriented Architecture called Microservices. The promise was that these smaller, loosely-coupled, and independently developed components would...
Interviews
PracticalDDD: Bounded Contexts + Events => Microservices
What is the focus of your work today?
I'm currently working as a software architect at Particular Software, the makers of NServiceBus. As an architect, I guide clients to help review their design or proof of concept to see how they can build loosely coupled systems using both event-driven architecture and domain-driven design (DDD).
Read Full Interview