我需要Azure WorkerRole错误处理指导

问题描述 投票:4回答:1

有没有人有一组他们想要分享的与Azure WorkerRole错误处理相关的最佳实践?我特别指出你对如何处理持久性错误条件的任何想法(即,对Web服务等外部资源的访问暂时停机数小时)。谢谢.....

azure azure-worker-roles
1个回答
2
投票

您可以查看Exception Handling Action Policies App Block for .NET这种情况(断路器或简单的睡眠和重试 - 永远可能会起作用)。

此应用程序块在场景中很有用,其中分布式系统的元素之间的连接不可靠并且会受到各种故障的影响。其中一个优点是可以在适当的位置配置整个应用程序的此类操作策略,然后通过Inversion of Control将其注入适当的类。

例如:

var policy = ActionPolicy
  .Handle<CommunicationException>()
  .CircuitBreaker(1.Minutes(), 2);

var recordSet = policy
  .Get(() => remoteRepository.GetRecords(someCriteria));

Lokad.Cloud(用于Azure)开源项目使用Lokad Shared Libraries中的相同策略。

注意:操作策略与Azure存储的RetryPolicies兼容:

var policy = ActionPolicy.Handle<StorageServerException>().Retry(5);
queueService.RetryPolicy = policy.Do;
© www.soinside.com 2019 - 2024. All rights reserved.