데이터베이스에서 읽기 및 쓰기 작업을 수행하고 알림을 받기 위해 WCF 서비스에 연결하는 클라이언트 시스템을 디자인해야합니다.WCF + CQRS + 푸시 알림
나는 CQRS 패턴을 사용한다고 들었다. 예를 위해서
는, 클라이언트는 제품 및 업데이트 제품의 가져 오기 목록 등의 작업을 수행 할 수 있도록 서비스에 연결됩니다. 또한 과 같은 조치를 취할 수 있습니다. 및 배송 거부 (먼저 수행하는 클라이언트간에 경쟁을 유발할 수 있습니다). 한 명의 고객 만이 선적을 '수락'하거나 '선적'할 수 있습니다.그래서 CQRS에 대해 조금 읽었으며 읽기와 쓰기 (명령 사용)가 분리되어 있음을 알았습니다. 그러나, 나는 내가 CQRS 사용하는 경우 몇 가지 주요 문제에 대한 확실하지 않다 : 나는 WCF 서비스에 CQRS 패턴을 사용하는 경우
을 - 나는 데이터베이스에 기적을 수행되는 것을 믿을 수 있습니까? 조금 혼란 스럽습니다. 서비스가 단일 스레드 (미래의 확장 성 지원)가되는 것을 원치 않지만, 다른 한편으로는 - 서비스에 대한 쓰기 작업이 올바른 순서로 수행되도록하려면 어떻게해야합니까? 또는 심지어 읽기 작업? CQRS 패턴이 주문 처리를 보장합니까? (누군가가 here에게 CQRS 패턴이 오프라인 처리 요청을 업데이트하기 위해 '업데이트'대기열을 사용한다고 말했습니다.)
CQRS를 사용하면 동시성 문제가 제거됩니까?
데이터베이스와 상호 작용하는 모든 명령 처리기에서 'TransactionScope'를 사용해야합니까?
나는 행운과 함께 클라이언트를위한 알림 서비스를 구현하는 방법을 이해하는 데 일주일 이상을 보냈다. design http://s16.postimage.org/aqakx6j9f/asdf.png
'제품 서비스'는 CQRS 서비스가 될 것입니다,하지만 난 알림 서비스에 문제가 :이 design가 있습니다. 클라이언트는 카테고리 X의 제품에 대한 알림을 받기 위해 제품 서비스에 명령을 보낼 수 있습니다.이 명령은 데이터베이스의 요청을 업데이트합니다. 지금까지 알림 서비스가 15 분마다 데이터베이스를 폴링하고 어떤 사용자가 어떤 카테고리에서 폴링하기를 원하는지 확인한 다음 해당 제품 카테고리에 대한 알림을 요청한 사용자에게 새 제품을 보냅니다. 사용자가 제품 범주를 변경하고 20 명의 다른 사용자가 이미이 제품을 알림 창에 표시하면 어떻게됩니까? 제품이 더 이상 해당 카테고리에 속하지 않음을 감지하고 과 같은 알림을 '보기에서 해당 제품 제거'해야합니다. 알림과 너무 흡사합니다. '데이터베이스 테이블에 대한 지속적인 뷰를 요청하십시오. 모든 변경 사항이 클라이언트의 화면'에 반영되어야합니다.. 이 종류의 알림 서비스를 어떻게 수행합니까 ??