我的架构中有以下调用层次结构:
BFF → 微服务 A → 微服务 B → 反腐败层 → 遗留系统
在上面的每个服务中,当一个服务请求另一个服务中的资源时,我使用重试模式来处理 HTTP 弹性。
问题变成了,如果我为每个请求设置了 3 次重试的默认策略,这将变成指数级。例如,如果我的 AntiCorruptionLayer 已关闭并返回 504(网关超时)并且我的 BFF 收到一个请求,它将重试 3 次,而服务 A 将重试 9 次,而 B 将重试 27 次,只为一个请求!
如何处理这个问题?有小费吗?