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.

Event-driven architecture, in Wikipedia. Retrieved 2/24/2018. https://en.wikipedia.org/wiki/Event-driven_architecture

Position on the Adoption Curve

Presentations about Event Driven Architecture

Founder & CTO @Lightbend / Creator of Akka Jonas Bonér

How Events Are Reshaping Modern Systems

SVP Engineering @HBC, Gilt & Committer Apache Karaf Adrian Trenaman

Lambda Architectures: a Snapshot, a Stream, & a Bunch of Deltas

Sr Software Engineer @Demonware building Activision's Call of Duty Yaroslav Tkachenko

Actors or Not: Async Event Architectures


See more interviews

Jonas  Bonér
Founder & CTO @Lightbend / Creator of Akka Jonas Bonér
Yaroslav Tkachenko
Sr Software Engineer @Demonware building Activision's Call of Duty Yaroslav Tkachenko