三态熔断器与故障转移
上一篇拆解了 ModelSelector 的选择算法,知道了它如何从一份 YAML 配置中选出一个有序的、可用的候选列表。但选好了之后呢?候选列表交给谁执行?调用第一个模型失败了怎么办?什么时候该认定一个模型挂了不再尝试?挂了的模型什么时候重新启用?
这一篇回答这些问题。我们会深入两个核心组件:ModelHealthStore(三态熔断器)和 ModelRoutingExecutor(故障转移执行器)。前者管健康状态——谁能调、谁不能调;后者管执行逻辑——怎么调、失败了怎么切换。