2012-07-25 5 views
0

지금 WCF를 사용하고 있으며 WCF의 게시자 구독자 모델과 관련하여 MSDN에서 여러 기사를 읽었습니다. 나는에 착수하려고 해요 프로젝트의 요구 사항WCF의 게시자 구독자 패턴

하나는 내가 게시자/가입자 모델

내 차에 관한 몇 가지 질문이, 따라서 하나 개의 서버가 여러 서버에 메시지를 보내 나를 필요 이 문제는 다음과 같습니다.

PC 재부팅으로 인해 내 가입자 5 명 중 2 명이 끊긴 경우 어떻게됩니까? 다시 구독자에게 메시지를 다시 보내는 게시자를 수동으로 처리해야합니까?

다른 모든 구독자에게 확실하게 도달하려면 게시자가 보낸 각 메시지가 필요합니다. 오프라인 인 경우 구독자가 다시 온라인 상태가되면 게시자가 메시지를 다시 보내야합니다. 게시자가 보내는 많은 메시지가있을 수 있기 때문에 오프라인 가입자에게 보내지는 모든 메시지를 저장하고 돌아 왔을 때 메시지를 다시 보내는 일종의 대기열 메커니즘이 필요할 것입니다. 온라인?

내 시나리오에서 WCF의 게시자/구독자 모드를 사용하고 있습니까? 연결이 끊어진 구독자를 지원하는 모델이 있습니까, 구독자가 다시 온라인 상태가되면 자동으로 다시 보내거나이 문제를 처리 할 때마다 모든 코드를 사용자 지정해야합니까?

답변

0

MSMQ를 사용해보십시오. WCF가 지원합니다. 게시자는 5 개의 대기열에 메시지를 보냅니다. 각 소비자는 대기열을 읽습니다.

+0

크기 제한 때문에 MSMQ를 사용하고 싶지 않은 경우 다른 옵션이 있습니까? 아니면 내 자체 안전 장치 메커니즘을 구현해야합니까? –

+0

다음과 같이 메시지의 최대 크기를 구성 할 수 있습니다. <바인딩 이름 = "MsmqBinding"maxBufferPoolSize = "10240000"maxReceivedMessageSize = "10240000"> MSMQ를 사용하지 않으려는 경우 통신에 실패하면 메시지에 로컬 저장소 (MSMQ?)를 사용하고 나중에 통신을 다시 시도하십시오. – schglurps