2010-02-16 2 views
6

NServiceBus 메시지를 다시 보내도록 지연/설정하는 최적의 방법은 무엇입니까?NServiceBus 재시도 지연

기본 구성에서는 재시도가 구성 파일에 정의 된 시도 수에 거의 즉시 적용됩니다. 1 시간 후에 다시 시도하는 것이 이상적입니다.

또한 HandleCurrentMessageLater()은 어떻게 작동합니까? Later 측면은 무엇을 참조합니까?

답변

6

교착 상태와 같은 일시적인 문제를 해결하기 위해 NSB 재시도가 있습니다. 긴 재시도는 오류 대기열을 모니터링하고 원하는 간격으로 다시 소스 대기열에 넣는 다른 프로세스를 생성하여 처리하는 것이 좋습니다. 참조 용으로 NSB와 함께 제공되는 ReturnToSourceQueue.exe을 살펴보십시오.

편집 : NServiceBus 지금, 우리는 자세한 내용

다음
+0

을 자세한 내용은 @SDShooter의 답변을 참조하십시오. –

4

NServiceBus 내가 바로이 같은 질문 우디 요청 후 쓴 재시도 지연을 포함하지 않는 이유에 블로그 게시물이에 대한 http://docs.particular.net/를 참조 그것을 Second Level Retries 호출이 지원 자신의 분산 시스템 아키텍처 과정에서 여기

NServiceBus Retries: Why no back-off delay?

그리고 오류 큐 모니터를 구축에 관련된 사항의 ​​일부를 덮고있는 토론 게시글입니다/엔드 포인트를 다시 시도 :

,536,

http://tech.groups.yahoo.com/group/nservicebus/message/10964

HandleCurrentMessageLater()는 현재 메시지를 대기열 끝에 넣습니다. 대기중인 다른 메시지가 없으면 즉시 다시 처리됩니다.

4

NServiceBus 3.2.1부터는 연속적인 메시지 오류가 발생할 경우 지연을 처리하기위한 즉시 사용 가능한 솔루션을 제공합니다. 기존의 재시도 메커니즘은 데이터베이스 교착 상태,자가 치유 네트워크 문제 등의 경우를 처리하기 위해 지연없이 실패를 재 시도합니다.

메시지가 구성된 횟수만큼 재 시도되면 메시지가 "초 레벨 재 시도 "대기열. 아래에 구성된이 대기열은 10, 20 및 30 초 지연 후 다시 시도한 다음 메시지가 구성된 오류 대기열로 이동합니다. 이 값을 자유롭게 사용자 환경에 맞게 변경할 수 있습니다. .

당신은이 링크를 확인하실 수 있습니다 :이 대답은 약간의 시간 전에 지금 내장이에 대한 NSB 지원이 게시 한 http://docs.particular.net/nservicebus/second-level-retries