2012-05-21 7 views
1

오늘 고객의 스로틀 및 TOPAZ 우리는 이전 주의 로그를 분석하고 우리는 윈도우 Azure 서비스 버스 대기열에 대한 다음과 같은 문제가 발견윈도우 Azure 서비스 버스 대기열 :

요청이 엔티티 때문에 종료되었다 억제되고있다. 10 초 정도 기다렸다가 다시 시도하십시오.

var retryStrategy = new Incremental(5, TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(2)); 
var retryPolicy = new RetryPolicy<ServiceBusTransientErrorDetectionStrategy>(retryStrategy); 

고객 대답 :

코드를 확인한 후 나는이 같은 재시도 정책을 구현하기 위해 과도 오류를 나눠 응용 프로그램 블록 (TOPAZ)를 사용하는 그들에게 "아, 너무 좋으니까 조절할 때 10 초 동안 을 기다려야한다는 사실도 처리 할 것입니다."

생각해 보니,이 경우인지 결코 알 수 없습니다. 나는 항상 이것이 사실이라고 추측했다. Microsoft.Practices.EnterpriseLibrary.WindowsAzure.TransientFaultHandling 어셈블리 제한된 경우 10 초 동안 기다리 겠지만 아무것도 찾지 못한 코드를 찾았습니다.

TOPAZ로 인해 복원력있는 응용 프로그램을 만들 수 없다는 뜻입니까? 이 조절 (예 : 특정 예외의 경우 10 초 대기) 처리하기 위해 일부 사용자 지정 코드와 결합해야합니까?

답변

0

"10 초"대기는 필수 조건은 아닙니다. 또한 TOPAZ에는 오지에 도움이되는 백 오프 기능이 있습니다.

개인적으로 나는 단순히 TOPAZ와 같은 것을 활용하는 것이 진정으로 탄력적 인 해결책을 제시하기에 충분하지 않다고 주장합니다. 탄력성은 단일 연결 지점을 제한하는 것뿐만 아니라 TOPAZ가 수행하지 않을 중복 끝점에 대한 장애 조치를 처리 할 수 ​​있어야합니다. 고정 간격 - - 증분 간격 - 또한 사용자 정의 재 시도를 작성할 수 랜덤 지수 백 오프 간격

:

1

지금까지 관련 스로로, Topaz을 포함, 내장 된 재시도 전략의 집합을 제공합니다 stragey 및 플러그 - 토파즈.

브렌트가 지적한대로 10 초 대기는 필수는 아닙니다. 대부분의 경우, 재 시도는 기다릴 필요없이 즉시 성공할 수 있습니다. 기본적으로 Topaz는 전략에 의해 정의 된 재시도 간격을 사용하기 직전에 첫 번째 재 시도를 수행합니다.

자세한 내용은 here에서 epub/mobi/pdf로 제공되는 "탄력적이고 탄력적 인 클라우드 응용 프로그램 개발"개발자 안내서 Ch.6을 참조하십시오.

토파즈에 대한 제안/기능 요청이있는 경우 uservoice을 통해 제출하십시오.

관련 문제