我们在基于微服务的应用程序中使用 Dapr PubSub;我们打算使用 Azure ServiceBus 作为生产中的支持服务。
当我们尝试处理消息时,如果其他服务之一或数据库不可用,那么我们会抛出异常,触发 Dapr 中的重试。我们希望它是健壮的,这样如果依赖关系只是短暂地下降,消息仍然会得到适当的处理。
问题是它重试非常快。有没有办法降低重试速度,使其更像 Dapr 处理微服务之间的请求,在每次失败时增加重试之间的差距。我们不希望它在快速重试时占用太多资源,而且它对时间要求不高;多花几分钟比不完成更重要。
我们找到了一种限制重试次数的方法,这样如果消息无效,它就不会永远重试,但不是限制重试的方法。
在这种情况下是否可以限制重试?
我们在 Linux 容器中的 AKS 上托管的 .Net 5 / Asp.Net Core 中使用 Dapr API。