Solidway v0.1.0 已以 AGPL-3.0 发布,源码与 Releases 在 GitHub 上。文档正在按发布版本重写:除「快速开始」与「参考」外,其余页面仍在描述计划中的行为。当前权威说明见仓库内的 docs/getting-started.md 与 docs/architecture.md。
健康标记
哪些失败会让凭据退役或冷却、冷却多久、以及如何回到选号。
持续失败的凭据每被选中一次就浪费一个请求。健康标记会把它移出选号,直到有证据表明它能重新服务。
分类
每次失败在做出下一个决定之前都会先分类。类别来自状态码,429 还会看错误体。
| 上游结果 | 标记 | 时长 |
|---|---|---|
401 |
退役 | 直到管理员恢复 |
403 |
冷却 | 设置项 cooldown_auth |
429 且 error.code = insufficient_quota |
冷却 | 有 Retry-After 则采用(有上限),否则 quota_cooldown |
其他 429 |
冷却 | 有 Retry-After 则采用,否则 cooldown_rate_limit |
5xx |
冷却 | cooldown_unavailable |
| 网络错误、连接超时、首字节超时 | 冷却 | cooldown_unavailable |
其他 4xx |
不标记 | — |
时长在「系统 → 网关」里配置。没有指数退避阶梯:按配置的窗口冷却,然后由探针检测。
标记范围
标记作用于整条凭据,覆盖它服务的所有模型。模型维度用于选号与统计,不用于「只停某个模型、其他模型继续」。
如何回来
- 冷却会自行到期。凭据进入探测,第一次探测成功即回到选号;在此之前即使有粘性也会被跳过。
- 退役不会自行恢复。管理员在路由页恢复(控制台里叫「解除标记」),同时关闭对应的故障记录。
故障记录
每次标记都会创建或延长一条故障记录(原因、时长、尝试次数)。控制台「Provider 故障」列出它们; 配置了告警 Webhook 时,新故障会触发通知。见故障记录与告警。
什么永远不会被标记
- 由请求本身引起的失败(通常是
400、404、422)——一个错误的调用方不能把凭据从所有人手里拿走。 - 客户端主动取消的流。