DDD에 문제가 있습니다. 방금 사용하기 시작 했으므로 많은 경험이 없습니다. 제한된 컨텍스트에는 유지 관리와 클라이언트가 있습니다. 각 클라이언트에는 엔진의 부품 목록이 있습니다. 유지 보수에는 직업이 수리 된 회사가 저장되어 있습니다. 고객은 각 부분에 대해 선호하는 회사를 선택할 수 있습니다.
관리자는 회사를 일시 중지 할 수 있습니다. 두 개의 집계가 변경되었습니다. 처음에는 회사 상태가 바뀌고 다음 회사는이를 선호하는 고객으로부터 삭제되어야합니다. 그것을 다루는 가장 좋은 패턴은 무엇입니까? 집계에서 두 개의 핸들러를 만들 수 있지만 핸들러 중 하나가 예외를 throw하면 어떻게 변경 사항을 롤백합니까?CQRS/ES - 두 개의 집계 변경
0
A
답변
0
집계에서 일관성 경계를 수정해야하는 것처럼 보입니다.
그러나 수정 한 후에도 한 트랜잭션에서 두 개의 집계를 변경해야하는 경우 궁극적으로 일관성있는 시스템과 도메인 이벤트를 사용할 수 있습니다 (CQRS에서는 이미이 작업을 수행하고 있습니다. 그렇습니까?).
Vaughn Vernon은 "도메인 중심 설계 구현"에서 궁극적으로 일관성을 유지하기위한 다음 방법을 제안합니다. 집계 게시 도메인 이벤트는 하나 이상의 가입자에게 전달됩니다. 각 가입자는 자신의 트랜잭션에서 실행되므로 트랜잭션에서 하나의 집합을 여전히 변경합니다. 트랜잭션이 실패하면 (구독자가 시간 초과시 성공을 확인하지 못함) 메시지를 다시 보내거나 일부 롤백 루틴을 실행하십시오.
이벤트 소싱을 사용하고 있으므로 "실패한"이벤트를 거부로 표시하고 Fowler's Retroactive Event mechanism을 사용할 수 있습니다.
관련 문제
- 1. CQRS/EventStore - 두 개의 집계 변경
- 2. 장고 집계 - 두 개의 덧셈
- 3. Sql : 두 개의 테이블에서 동시에 집계
- 4. SQL에서 두 개의 집계 쿼리를 조건부로 나누면됩니까?
- 5. Maven 두 개의 다른 Poms 집계?
- 6. 두 개의 SQL 테이블 결합 및 집계
- 7. 다른 기준을 가진 두 개의 집계 함수
- 8. SQL 세 개의 테이블에 대한 두 개의 집계 함수
- 9. 하나의 창에서 두 개의 숫자로 두 개의 다른 눈금으로 변경
- 10. 알려진 USD 집계 값을 기준으로 두 필드의 통화 변경
- 11. 집계 루트에서 엔티티의 변경 감지
- 12. 모양 변경, 집계/CONCATENATE 문자열
- 13. Django : 두 개의 곱한 열의 집계 된 값을 얻습니다.
- 14. UML 두 개의 클래스로 집계 및 합성을 사용할 수 있습니까?
- 15. 두 개의 날짜 필드가있는 월별 집계 - IN 및 OUT
- 16. DDD - 두 개의 집계 루트간에 사용할 값 개체를 공유하거나 복제합니까?
- 17. 유일한 쿼리에 두 개의 집계 count() 함수를 사용할 수 있습니까?
- 18. ElasticSearch 집계 : 공백 문자열 값 얻기 위해서 두 개의 문자열
- 19. DB2의 SQL : 두 개의 쿼리를 결합하여 하나의 집계 열
- 20. 그룹별로 두 개의 집계 열 작성하기 By Pandas
- 21. 두 개의 병렬 집계, 엔티티, 값 개체 계층 구조 모델링
- 22. MongoDB를가 집계 $ 조회를 사용하여 두 개의 컬렉션을 가입하거나 Node.js를
- 23. 동일한 쿼리에서 두 개의 집계 함수를 언급하는 방법은 무엇입니까?
- 24. SQL 서버에서 두 개의 집계 함수를 병합하는 방법
- 25. Java 스트림을 사용하여 두 개의 집계 함수를 계산하는 방법은 무엇입니까?
- 26. MySQL의 두 테이블간에 데이터 집계
- 27. 이름 변경 후 두 개의 아이콘이 나타납니다
- 28. 두 개의 Mercurial 리포지토리간에 변경 이음
- 29. 두 개의 SVN 리포지토리의 변경 사항을 병합
- 30. 두 개의 연속 된 그림에서 변경 감지
정말 제거해야합니까? 다시 정지되지 않으면 어떻게 될까요? 그런 다음 클라이언트 환경 설정에서 실제로 좋게 만들어야합니까? :) –
확인. 어쩌면 그것은 최고의 모범이 아닙니다. 나는 두 개의 집계를 가지고 변경해야 할 때 상황을 해결하는 방법을 고려하고 처리기는 예외를 던질 수 있습니다. – Max
한계가있는 상황과 같은 사운드는 수정해야합니다. 이상적으로 당신은 그 사이에 의존성을 가지기를 원치 않는다. – stephenl