Architectural pattern where components communicate through asynchronous events, enabling decoupled, scalable, and reactive systems.
Event-driven architecture is a pattern where components produce and consume events asynchronously. An event represents something that happened — an order created, a file uploaded, a user registered. Producers don't know who consumes their events; consumers don't know who produces them.
| Broker | Model | Ordering | Retention | Use case |
|---|---|---|---|---|
| AWS SQS | Queue (point-to-point) | Optional FIFO | 14 days max | Simple service decoupling |
| AWS SNS | Pub/sub (fan-out) | Not guaranteed | No retention | Notifications to multiple subscribers |
| AWS EventBridge | Event bus | Per partition | 24h replay | Content-based routing, SaaS integration |
| Apache Kafka | Distributed log | Per partition | Configurable | High-volume streaming, event sourcing |
| RabbitMQ | Queue with exchanges | Per queue | Configurable | Complex routing, multiple protocols |
Event-driven architectures decouple services in time and space. A service publishes an event without knowing who consumes it, enabling independent scaling, modification, and replacement of components. It is the pattern that enables truly modular systems.
Cloud computing model where the provider manages infrastructure automatically, allowing code execution without provisioning or managing servers, paying only for actual usage.
AWS serverless event bus connecting applications using events, enabling decoupled event-driven architectures with rule-based routing.
Pattern separating read and write operations into distinct models, optimizing each independently for performance and scalability.
Pattern for managing distributed transactions in microservices through a sequence of local transactions with compensating actions to handle failures.
Architectural style structuring an application as a collection of small, independent, deployable services, each with its own business logic and data.
Pattern where application state is derived from an immutable sequence of events, providing complete audit trail and the ability to reconstruct state at any point in time.
Architectural pattern where each client type has its own dedicated backend adapting microservice APIs to that client's specific needs.
AWS serverless orchestration service that coordinates multiple services into visual workflows using Amazon States Language (ASL), with built-in error handling, retries, and parallel execution.
AWS fully managed message queue service that decouples distributed application components, guaranteeing message delivery with unlimited scalability.
AWS pub/sub messaging service that distributes messages to multiple subscribers simultaneously, enabling fan-out patterns and notifications at scale.
AWS serverless compute service that runs code in response to events without provisioning or managing servers, automatically scaling from zero to thousands of concurrent executions.
AWS serverless NoSQL database with single-digit millisecond latency at any scale, ideal for applications requiring high performance and automatic scalability.
Patterns and frameworks for coordinating multiple AI models, tools, and data sources in production pipelines, managing flow between components, memory, and error recovery.