서비스 간에는 보통 강한(strong) 일관성을 **eventual consistency(최종 일관성)**와 맞바꾸고, 이를 실용적이고 정확하게 만들기 위해 CQRS와 event sourcing에 의존합니다.
Eventual consistency
변경 후 복제본은 즉시가 아니라 "곧" 수렴합니다. 대부분의 비즈니스 흐름(재고 수량이 1초 늦어도 됨)에는 허용되지만, 일부(은행 잔액 확인)에는 허용되지 않습니다.
CQRS(Command Query Responsibility Segregation)
**쓰기 모델(write model)**과 하나 이상의 **읽기 모델(read model)**을 분리합니다.
text
Command ─▶ Write model ─이벤트 방출─▶ [ Read model(s) ]
Query ──────────────────────────────▶ Read model (비정규화, 빠름)
읽기는 쓰기와 독립적으로 확장되고 재구성됩니다. 읽기 모델은 이벤트로부터 갱신되므로 eventually consistent합니다.
