2

DDD에서 읽은 모든 것은 집계 내의 상태가 강하게 일관되어야 함을 의미합니다.집계가 강건하게 일치해야합니까?

이것은 하나의 중복이 필요한 경우 강력하게 일관된 복제 (예 : 2PC, 3PC 또는 Paxos) 만 사용할 수 있음을 의미합니다.

멀티 마스터 또는 마스터 - 슬레이브와 같이 일관되게 복제 할 수 있습니까? 만약 당신이 그들을 사용했다면, 당신은 여전히 ​​DDD 용어로 '집합체'를 가지고 있습니까? 이것은 공통점이 있습니까?

답변

3

집합체 자체는 일관성이 있어야하지만 관련 집계 값은 결국 서로 일관성을 가질 수 있습니다. 실제로 최종 일관성은 분산 시나리오 내에서 DDD의 공통 패러다임입니다. 집계는 일관성 경계로 간주 될 수 있습니다. 즉, 집합체는 현실을 순수하게 반영하기보다는 일관성이 있어야한다는 측면에서 정의됩니다.

예를 들어 집계에 대한 동작은 외부에서 게시되는 도메인 이벤트를 게시 할 수 있습니다. 이 이벤트에 대한 대역 외 처리기는 결국 전체 시스템을 일관된 상태로 만들 수 있습니다. 여러 번, 궁극적 인 일관성은 완벽하게 수용 가능한 비즈니스 제약 사항입니다. 특히 최종 일관성이 실제로 더 널리 퍼지기 때문입니다.

자세한 내용은 Effective Aggregate Design by Vaughn Vernon을 참조하십시오.

UPDATE은 응집체

결국 일관된 중복 사례별로 평가한다. 일부 집계는 분쟁 해결 및 자연 재해 보상 조치에 적합합니다. 이러한 유형의 충돌은 시스템을 일관된 상태로 만들기 위해 보상 조치가 필요한 CQRS 스타일 충돌과 유사한 방식으로 해결됩니다. CQRS와 마찬가지로 최종 일관성의 영향은 도메인 전문가와상의해야합니다.

+0

DDD 집계에 대한 교과서 정의를 설명하고 내 질문에 더 많은 소개를 확인했습니다. 그러나 집계의 중복성은 무엇입니까? 더 구체적으로 말하면, 지구 위치 요구 사항에 따라 서로 다른 데이터 센터에 호스팅 된 중복 사본을 처리하는 방법은 무엇입니까? –

+0

데이터 저장소의 동기화와 같은 작업은 리포지토리 또는 서비스 (리포지토리는 훨씬 더 표준적인 방법입니다)에서 처리해야합니다. 도메인에있는 것은 단순히 엔터티의 개념과 변환 방법을 나타내는 비즈니스 규칙뿐입니다. – Mathieson