event-driven-architecture

|

Works with

Claude CodeCursorCodex CLIGitHub CopilotGemini CLI
---
name: event-driven-architecture
description: |
license: MIT
---

# Event-Driven Architecture

## When to Use

- Design **event-driven** integration between bounded contexts or microservices
- Choose **pub/sub vs point-to-point**, topics vs queues, and broker capabilities
- Model **domain events**, integration events, and command vs event semantics
- Apply **event sourcing** or **CQRS** at architecture level (not framework tutorials only)
- Define **schemas**, compatibility rules, and **event schema versioning** strategy
- Specify **ordering**, **partition keys**, and **delivery guarantees** (at-least-once, etc.)
- Design **idempotent consumers**, deduplication, and **exactly-once** tradeoffs
- Implement **transactional outbox** or **inbox** for reliable publish/consume
- Decide **choreography vs orchestration** and **saga** compensation at pattern level
- Operate **dead-letter queues**, replay, and stream reprocessing safely
- Distinguish **stream processing** (Kafka Streams, Flink) from **discrete business events**

## When NOT to Use

- Implement microservice code, gRPC/REST APIs, or twelve-factor deployables only → `microservices-developer`
- Design enterprise iPaaS hubs, canonical models, B2B partner APIs, or API gateway programs only → `enterprise-integration-api-developer`
- Map X12/EDIFACT segments, AS2/VAN, or EDI partner certification → `edi-engineer`
- Build generic application features without event/messaging architecture → `senior-software-engineer`
- Operate classified air-gapped pipelines, ATO evidence, cleared promotion → `classified-software-devsecops-engineer`
- Formulate VRP, MIP, scheduling, or optimization solvers → `operations-research-algorithm-developer`
- CI/CD YAML, GitOps, and release automation only → `devops`
- Landing zone, VPC, and managed cloud provisioning → `cloud-engineer`

## Related skills

| Need | Skill |
|---|---|
| Service boundaries, gRPC/REST, circuit breakers, contract tests | `microservices-developer` |
| Enterprise integration hub, OpenAPI/AsyncAPI, iPaaS, B2B gateways | `enterprise-integration-api-developer` |
| EDI standards and partner file exchange | `edi-engineer` |
| Application code and refactoring without EDA focus | `senior-software-engineer` |
| Classified DevSecOps and artifact promotion | `classified-software-devsecops-engineer` |
| OR models, routing, allocation solvers | `operations-research-algorithm-developer` |
| Kafka/Rabbit operational platform (brokers, K8s) | `platform-engineer`, `devops` |
| Cross-system ADRs and NFR sign-off | `senior-system-architecture` |
| Pipeline security and supply chain | `devsecops` |

## Core Workflows

### 1. Scope and event boundaries

Define event types, producers/consumers, sync vs async boundaries, and non-goals.

**See `references/event_driven_architecture_scope.md`.**

### 2. Messaging and brokers

Select patterns, topics/queues, partitioning, and broker fit (Kafka, Pulsar, SNS/SQS, etc.).

**See `references/messaging_patterns_and_brokers.md`.**

### 3. Event sourcing and CQRS

When to use write models, projections, snapshots, and read-model consistency.

**See `references/event_sourcing_and_cqrs.md`.**

### 4. Reliability, idempotency, outbox

Delivery semantics, deduplication, outbox/inbox, and failure handling.

**See `references/reliability_idempotency_outbox.md`.**

### 5. Orchestration, choreography, sagas

Coordinate long-running flows without turning the bus into a distributed monolith.

**See `references/orchestration_choreography_sagas.md`.**

### 6. Schema governance and operations

Version events, operate DLQs, replay, and observability for event pipelines.

**See `references/schema_governance_operations.md`.**

## Outputs

- **Event catalog** — event name, schema version, producer, consumers, SLAs, PII classification
- **Context diagram** — services, topics/queues, sync fallbacks, trust zones
- **Consistency note** — outbox/saga/choreography choice with compensation and idempotency keys
- **Partitioning and ordering spec** — keys, guarantees, hot-partition risks
- **Schema compatibility matrix** — backward/forward rules, deprecation timeline
- **Operations runbook** — DLQ drain, replay procedure, lag alerts, poison-message handling

## Principles

- Prefer **explicit contracts** (schemas, AsyncAPI/CloudEvents metadata) over implicit JSON blobs
- Design consumers **idempotent by default**; treat exactly-once as a bounded, measured goal
- Keep **commands and events** distinct—events are facts; commands request work
- Avoid **chatty orchestration** over the bus; sagas compensate, they do not hide missing boundaries
- Make **failure observable**—correlation ID, structured errors, DLQ with actionable payloads
- **Replay is a product feature**—document ordering, side effects, and deduplication before reprocessing

More Architecture skills

← All Architecture skills

Check your AI visibility

One URL in, a 0–100 score and the exact fixes out.

RUN THE CHECK

Browse all the tools

15 tools across six categories
13 of them never send your data anywhere

Free · No signup · No trial clock

SEE THE DIRECTORY