The event-driven architecture pattern is a popular distributed asynchronous architecture pattern used to produce highly scalable applications. It is also highly adaptable and can be used for small applications as well as large, complex ones. The event-driven architecture is made up of highly decoupled, single-purpose event-processing components that asynchronously receive and process events.