Event-Driven Architecture
Noun · Development
Definitions
A design paradigm where the flow of the program is determined by events — user actions, sensor outputs, messages from other services. Components publish events and subscribe to events rather than calling each other directly.
In plain English: A way of building software where things happen in response to events (a user clicked, a payment arrived, a file uploaded) rather than following a fixed step-by-step script.
The key challenge is eventual consistency: when services communicate through events, there's a delay between an event occurring and all services processing it. Debugging is also harder — tracing a request across 10 services processing events asynchronously requires distributed tracing tools like Jaeger or Zipkin.
Example: 'The order service publishes an OrderPlaced event. Inventory, payment, and shipping services each subscribe and handle it independently. Debugging? We use distributed tracing.'
Source: challenges / tracing
Related Terms
- Microservices
- Monolith
- Message Queue
- CAP Theorem
- Eventual Consistency
- API Gateway
- Service Mesh
- CQRS
- ADR
- Decentralization
- Distributed Systems
- Event
- Figure
- Function Handle
- Game Loop
- HPC
- Instruction Set
- Message Passing
- Offline-First
- Queue
- Sharding
- State Machine
- Stream
- System Design
- Vapi
- Strangler Fig Pattern
- Event Sourcing
- Saga Pattern
- Hexagonal Architecture
- Backoff
- Leader Election
- Write-Ahead Log
- Sidecar
- Init Container
- Monorepo
- Dead Letter Queue
- Greenfield
- Von Neumann Bottleneck
- Finite State Machine
- Slowly Changing Dimension
- Medallion Architecture
- Windowing
- Watermark
- Local-First Software
- API Gateway Pattern
- Long Polling
- Pub/Sub
- Partial Application
- Immutable Deploy
- Feature Toggle
- Dependency Graph
- CTE
- Bounded Context
- Aggregate
- CQRS
- Clean Architecture
- Anti-Corruption Layer
- Cache Invalidation
- Sliding Window
- Second System Effect
- Dark Debt
- Backpressure
- GraphQL Fragment
- Consumer Group
- Inbox Pattern
- Backend for Frontend
- API Composition
- Regex
- Frameworks vs Libraries
- Fullstack Framework
- GUI Framework
- Master-Slave
- Message Bus
- Multi-Tenant
- Promise Chain
- Pull Model
- Reactive Programming
- Redux Thunk
- Request Pipeline
- Suspension Point
- Unidirectional Data Flow
- Warp
- Async Hook