2012-02-27 2 views
1

주문 테이블이 포함 된 데이터베이스가 있습니다. 주문 테이블 내에서 데이터를 조작 할 수 있도록 고객을위한 API를 만들려고합니다. 클라이언트가 URI를 통해 CRUD 작업을 수행 할 수 있도록 WCF Data Service의 경로를 선택했습니다.WCF 데이터 서비스 및 MSMQ

그러나이 WCF 데이터 서비스가 확장 가능하고 여러 클라이언트에서 만들어진 많은 수의 요청 (1000)을 처리 할 수 ​​있어야합니다. WCF 데이터 서비스와 함께 MSMQ를 사용하여 보았지만 불가능한 것처럼 보이는 다음 링크를 살펴 보았습니다. - Can we use msmq messaging with wcf data service.

클라이언트가 데이터를 조작하려고 시도 할 때 (선택하지 않음), 변경 사항이 db에 저장되기를 기다리는 대신 MSMQ에 요청을 추가합니다. 이 작업은 ORM의 SaveChanges() 메서드를 재정 의하여 변경 내용을 추출하고 MSMQ로 serialize 한 다음 클라이언트로 반환합니다. 별도의 스레드가 MSMQ에서 개체를 가져온 다음 변경 내용을 db에 저장합니다.

이 모든 것은 괜찮은 것처럼 보이지만 요청을 처리했거나 오류가 발생했음을 클라이언트에게 어떻게 알릴 수 있습니까? 어떤 아이디어?

답변

0

일반적으로 동기식 작업을 오프라인으로 처리하면이 문제가 발생할 수 있습니다.

CQRS 패턴을 구현할 때 직면하게되는 문제 중 하나는 읽기 및 쓰기 작업을 분리하려고 시도하는 것입니다. 이것은 일관된 일관성입니다.

이 문제를 해결하기위한 실제로 여러 가지 방법이 있습니다 - 한 이러한 링크를 살펴 :

CQRS - Eventual Consistency

GUI recommandations for eventual consistency?