architecture-paradigm-cqrs-es

Featured

Applies CQRS and Event Sourcing for read/write separation and audit trails. Use when designing systems with complex domain logic or full state-change history.

AI & Automation 323 stars 29 forks Updated today MIT

Install

View on GitHub

Quality Score: 96/100

Stars 20%
84
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# The CQRS and Event Sourcing Paradigm ## When To Use - Designing event-sourced systems with complex domain logic - Systems requiring full audit trails of state changes ## When NOT To Use - Simple CRUD applications without complex domain logic - Small projects where event sourcing adds unnecessary complexity ## When to Employ This Paradigm - When read and write workloads have vastly different performance characteristics or scaling requirements. - When all business events must be captured in a durable, immutable history or audit trail. - When a business needs to rebuild projections of data or support temporal queries (e.g., "What did the state of this entity look like yesterday?"). ## Adoption Steps 1. **Identify Aggregates**: Following Domain-Driven Design principles, specify the bounded contexts and the business invariants that each command must enforce on an aggregate. 2. **Model Commands and Events**: Define the schemas and validation rules for all commands and the events they produce. Document a clear strategy for versioning and schema evolution. 3. **Implement the Write Side (Command Side)**: Command handlers are responsible for loading an aggregate's event stream, executing business logic, and atomically appending new events to the stream. 4. **Build Projections to the Read Side**: Create separate read models (projections) that are fed by subscriptions to the event stream. Implement back-pressure and retry policies for these subscriptions. 5. **validate Full Obse...

Details

Author
athola
Repository
athola/claude-night-market
Created
8 months ago
Last Updated
today
Language
Python
License
MIT

Bundled in these plugins

Similar Skills

Semantically similar based on skill content — not just same category