🎁 New User? Get 20% off your first purchase with code NEWUSER20 Register Now →
Menu

Categories

Programming Concepts Advanced

What is Event-Driven Architecture?

A software design pattern where components communicate by producing and consuming events rather than direct method calls.

Event-driven architecture decouples system components by having producers emit events (facts about what happened) and consumers react to events of interest. This enables loose coupling, independent scaling, and asynchronous processing. Events are typically distributed through message brokers (Kafka, RabbitMQ, AWS SNS/SQS). Patterns include event notification (lightweight signals), event-carried state transfer (events include full data), and event sourcing (storing all state changes as an immutable event log). CQRS (Command Query Responsibility Segregation) often accompanies event-driven systems, separating read and write models.

Related Terms

Factory Pattern
A creational design pattern that provides an interface for creating objects without specifying their exact classes.
DRY (Don't Repeat Yourself)
A software development principle that aims to reduce code duplication by abstracting common patterns into reusable components.
Closure
A function that captures and retains access to variables from its enclosing scope, even after that scope has finished executing.
SOLID Principles
Five design principles for writing maintainable, flexible object-oriented code: Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion.
Observer Pattern
A design pattern where an object (subject) maintains a list of dependents (observers) that are notified automatically of state changes.
Singleton Pattern
A design pattern that restricts a class to a single instance and provides a global point of access to that instance.
View All Programming Concepts Terms →