Event-driven architecture (EDA) is an architecture pattern that promotes the production, detection, consumption of, and reaction to events. This architectural pattern can be applied to the systems that transmit events among loosely coupled software components and services.
Two aspects of a cloud-native architecture are essential to developing an event driven architecture:
- Microservices - These provide the loosely coupled application architecture which enables deployment in highly distributed patterns for Resilience, Agility and Scale.
- Cloud Native platforms with Containers and “Serverless deployments” - These provide the application platform and tools which realize the Resilience, Agility and Scale promise of the microservices architectures.
An Event Driven Architecture should provide the following essential event capabilities to the Cloud Native Platform.
- Being able to communicate and persist events.
- Being able to take direct action on events.
- Processing event streams to derive real time insight/intelligence.
- Providing communication for event driven microservices.
cloud functions
event managed state,有关state部分
This includes:
- Event Stores optimized for analytics
- Event Sourcing as a pattern for recording state changes and updates across distributed systems
- Command Query Response Separation (CQRS) as an optimization which separates updates and reads across different stores
event storming
insights storming
event driven solutions:
- Keeping an Event Log as a time sequenced as it happened recording of events (Source of the truth).
- Enabling direct replay of events.
- Enabling Event Sourcing as a way of recording state changes in distributed systems.
- Enabling programmatic access to the continuous event stream.