如何在.netcore服务中创建旁路机制?

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

我有一个worker服务,它调用API调用来获得一些需要的答案。有时网络服务不能响应,请求将进入超时模式。

现在我想开发一个旁路机制,当服务成功率降低到低于限制值时,旁路服务。现在我想要一个列表,其中将填充上一个指定时间段的结果,根据这些数据计算成功率,并在需要时旁路Web API调用。

这是我的挑战:如何实现我的结果回购?我有多种选择

  1. 列表,它不是线程安全的,也没有过期时间,但在查询和数据结构上很容易使用,MemoryCach有过期时间限制,但我们不能对其进行查询,我们只是可以添加不同的键值。
  2. MemoryCach有过期时间限制,但我们不能对它的项进行查询,我们只是可以添加不同的键值。
  3. concurrent Generics是并发的,但它们没有过期时间和查询功能。

有没有其他的选择,有没有内置的或第三方的库用于旁路机制?

c# .net-core
1个回答
1
投票

你问的是Polly。

Polly是一个.NET弹性和瞬时故障处理库,它允许开发人员以流畅和线程安全的方式表达重试、断路器、超时、隔板隔离和回退等策略。

https:/github.comApp-vNextPolly#resilience-policies。

© www.soinside.com 2019 - 2024. All rights reserved.