CQRS, Command Query Responsibility Segregation

讓「寫得複雜、讀得很快」同時成立

在傳統 CRUD 中同一套模型要負責寫入、查詢
但是很容易遇到需求污染、查詢效能受限於交易設計且擴展困難


Client
  ├─ Command → Write Model → Write DB
  │                        └─ Event → Read Model
  └─ Query   → Read DB  → Response
  1. Client 發 Command → Command Handler 驗證與執行
  2. 寫入 Write DB(可同時寫 Event Store)
  3. 發布事件 → 非同步更新 Read Model
  4. Client 發 Query → Query Handler 直接查 Read DB

✅ 適合:

❌ 不適合:


Powered by Forestry.md