2012-04-30 3 views
3

클러스터 된 MSMQ가 있습니다. 해당 메시지를 읽는 WCF 서비스 앱 (자체 호스팅 콘솔)도 있습니다.WCF가 클러스터 된 MSMQ에서 읽지 못합니다.

그러나 응용 프로그램이 대기열에있는 메시지를 읽지는 않지만 클러스터 환경에서 동일한 응용 프로그램을 실행하면 아무 문제없이 대기열을 읽습니다.

어떤 아이디어가 있습니까?

내 생각이었다 : 사람이 충돌하는 경우 WCF 서비스 응용 프로그램에 대한 3xservers에 대한

ClusteredMSMQ (for failover reasons to ensure high availability) 
Server 1 -> WCF service app 
Server 2 -> WCF service app 
Server 3 -> WCF service app 

이유는 넣다이고, 다른 하나는 여전히 큐에 메시지를 읽을 인수 계속할 수 있습니다. 트랜잭션 MSMQ이며 서비스 바인딩이 클러스터 된 MSMQ를 가리키고 ExactlyOnce = true 집합을 가리키고 있습니다. 또한 서비스 응용 프로그램에 대한 업데이트가있는 경우이를 내리고 업데이트를 수행해야합니다. 그 동안 다른 서비스 응용 프로그램도 인계받을 수 있습니다. 말이된다?

어떤 아이디어가 진행되고 있습니까, 아니면 제가 오해하고있는 것이 있습니까?

답변

1

해결 방법은 동일한 설정으로 클러스터의 모든 서버에도 DTC가 구성되어 있어야한다는 것입니다. 이것을 적용한 다음 DTC를 클러스터 된 app/service로 만듭니다.

마지막으로 응용 프로그램에서 메시지를 읽을 수있었습니다.

관련 문제