小窍门
此内容摘自电子书《适用于容器化 .NET 应用程序的 .NET 微服务体系结构》,可以在 .NET Docs 上获取,也可以下载免费的 PDF 以供离线阅读。
指数退避重试 是一种技术,当进行重试时,其等待时间会呈指数级增长,直到达到最大重试次数(指数退避)。 此方法承认这样一个事实:出于任何原因,云资源可能会间歇性地长时间不可用。 例如,业务流程协调程序可能会将容器移到群集中的另一个节点,以便进行负载均衡。 在此期间,某些请求可能会失败。 另一个示例可能是 SQL Azure 等数据库,其中数据库可以移动到另一台服务器进行负载均衡,导致数据库不可用几秒钟。
实现带有指数退避的重试逻辑的方法有很多。