http://cre8ivethought.com/blog/2009/11/12/cqrs--la-greg-young에 따르면 이벤트 게시자를 사용하여 이벤트를 게시하는 구성 요소가 저장소입니다.CQRS 리포지토리가 이벤트 저장소가 아닌 이벤트를 게시하는 이유는 무엇입니까?
제 질문은 간단합니다 : 왜 그렇습니까? 이 블로그 게시물에서
이 우리가 있다고 말했다됩니다도메인 저장소는 이벤트를 게시에 대한 책임이 일반적으로 이벤트 저장소에서 이벤트를 저장와 함께 하나의 트랜잭션 내에서 일 것이다.
이벤트 저장소의 작업으로 예상했을 것입니다. 이벤트 (또는 여러 이벤트)가 저장되면 게시됩니다.
왜 저장소에 있습니까?
을, 당신이 언급 한 바와 같이, 해당 이벤트의 게시가 shouldn 기본 이벤트 저장소의 책임이 아니라 "게시되지 않은"마커를 설정하는 동안 DB 테이블을 사용하여 이벤트를 저장하는 솔루션입니다. 다른 프로세스가 해당 테이블에서 "게시되지 않음"으로 표시된 이벤트를 읽은 다음 게시 한 후 마커가 설정되고 트랜잭션이 커밋됩니까? 이 경우 게시되지 않은 이벤트의 테이블을 폴링하여이를 수행하는 방법입니까? – CraigM