Software Event-Driven Architecture Pattern
Jump to navigation
Jump to search
A Software Event-Driven Architecture Pattern is a software architecture pattern that structures Software Event-Driven Systems around software event-driven message production and software event-driven message consumption.
- AKA: Event-Driven Architecture, EDA Pattern, Message-Driven Architecture Pattern.
- Context:
- It can typically decouple Software Event-Driven Producers from software event-driven consumers through software event-driven brokers.
- It can typically enable Software Event-Driven Asynchronous Processing via software event-driven message queues.
- It can typically support Software Event-Driven Event Ordering through software event-driven sequence guarantees.
- It can typically facilitate Software Event-Driven Event Replay using software event-driven event stores.
- It can typically provide Software Event-Driven Backpressure Handling through software event-driven flow controls.
- ...
- It can often enable Software Event-Driven Horizontal Scaling through software event-driven partitions.
- It can often support Software Event-Driven Complex Event Processing via software event-driven correlation engines.
- It can often implement Software Event-Driven Saga Patterns for software event-driven distributed transactions.
- It can often facilitate Software Event-Driven Real-Time Processing with software event-driven stream processors.
- ...
- It can range from being a Simple Software Event-Driven Architecture Pattern to being a Complex Software Event-Driven Architecture Pattern, depending on its software event-driven topology complexity.
- It can range from being a Broker-Based Software Event-Driven Architecture Pattern to being a Mediator-Based Software Event-Driven Architecture Pattern, depending on its software event-driven orchestration model.
- ...
- It can integrate with Software Microservices Architecture Pattern for software event-driven service communication.
- It can utilize Software Message Queue Systems for software event-driven message transport.
- It can implement Software Stream Processing Frameworks for software event-driven data processing.
- ...
- Examples:
- Software Event-Driven Topology Patterns, such as:
- Software Event-Driven Implementation Patterns, such as:
- Software Event-Driven Publish-Subscribe Pattern distributing software event-driven events to software event-driven subscribers.
- Software Event-Driven Event Sourcing Pattern storing software event-driven state changes as software event-driven event sequences.
- Software Event-Driven CQRS Pattern separating software event-driven commands from software event-driven querys.
- Software Event-Driven Platforms, such as:
- ...
- Counter-Examples:
- Software Request-Response Architecture Pattern, which uses software request-response synchronous calls rather than software event-driven asynchronous messages.
- Software Batch Processing Architecture Pattern, which processes software batch processing data collections rather than software event-driven individual events.
- Software Polling Architecture Pattern, which actively software polling checks for changes rather than receiving software event-driven notifications.
- See: Software Architecture Pattern, Event-Driven Architecture, Software Messaging Pattern, Software Microservices Architecture Pattern, Software Stream Processing.