API Reliability and Uptime: SLA, Success Rate and Billing on Failure
错误算法①:全部请求算分母——你的程式 bug 会拉低服务商分数。错误算法②:只算成功——故障被掩盖。正确:分母 = 抵达上游的请求,剔除 client 类错误(参数问题);分子 = 服务端成功完成。
另一个陷阱:样本不足时报 0%。凌晨无流量显示「可用率 0%」是吓人又失真的——正确做法是回「无样本」。
这是最能看出服务商诚信的地方。政策应该是:上游故障的失败请求(401/403/500/逾时等)不计费、0 token 记录在案;你的程式参数错误(400)也不该被收费。OlithmRouter 的错误分类体系区分 client/billing/upstream,帐务上故障请求 0 费用。
不要只靠服务商的仪表板:①在程式端记录每次呼叫的 request_id 与延迟;②对照服务商日志;③设置简单的 synthetic 探测(每分钟一个小请求)建立自己的 SLA 历史。故障发生时,你手上要有双方数据。
服务一定会偶尔故障,差异在 MTTR(平均恢复时间):有自动换家的服务商,单上游故障时你完全无感;没有的话每次故障都是一次事故。OlithmRouter 的多上游+冷却设计,让多数上游级故障对使用者透明。