我想以与Hystrix或Akka.net相同的方式将调用依赖于断路器/超时/重试,但是因为我正在用azure构建云服务和工作者角色,我想知道如果有一个azure实现,将允许我们这样做。
有没有天然的天蓝色方法呢?我正在研究服务结构,但我不确定是否这样做,我们希望通过azure平台实现我们的服务,而不是通过天蓝色的基础设施。
答案 0 :(得分:5)
Microsoft没有断路器库。我已经使用Polly取得了巨大的成功。
这很容易使用
var policy = Policy
.Handle<TimeoutException>()
.CircuitBreaker(2, TimeSpan.FromMinutes(1));
var result = policy.Execute(() => FetchData(p1, p2));
在我的博文中了解更多相关信息:Automatic Retry and Circuit Breaker made easy。
答案 1 :(得分:1)
msdn上有很多可用于断路器的云设计模式架构
https://msdn.microsoft.com/en-us/library/dn589784.aspx
答案 2 :(得分:0)
.NET有多个Hystrix端口,例如 https://github.com/Elders/Hystrix.NET https://github.com/Travix-International/Hystrix.Dotnet
Azure文档中的一些断路器示例 https://docs.microsoft.com/en-us/azure/architecture/patterns/circuit-breaker https://microserviceswithazure.com/Samples/Circuit%20Breaker.html
Steeltoe,也可以使用.NET中的Hystrix和Eureka https://github.com/SteeltoeOSS/Samples/tree/master/CircuitBreaker