AI网关调用方分级 SLA 与保障承诺治理落地

日期:2026-09-08

一、项目背景

我们管的 AI 网关对内外几十个调用方开放,一开始是"一视同仁"的:所有请求进同一个队列,按先来后到或者简单限流处理。初衷是公平,结果一点都不公平。核心交易链路和某个内部测试脚本抢同一池推理资源,测试同学随手压个测,交易侧响应就抖,客单价高的业务先扛刀。

出问题最尴尬的是责任划分。交易侧投诉慢,网关侧说"大家都一样啊",测试侧说"我就随便测测"。谁都拿不到书面保障,谁都不背锅。老板要的是"核心业务必须有保障",但我们的系统里根本没有"保障"这个概念,只有"尽力而为"。

二、落地场景

我们做的第一件事是调用方重要级分级。按业务影响面、调用量、是否面向终端客户,把调用方分成核心、重要、普通、测试几档,每档对应不同的资源优先级。分级 SLA 承诺是第二段,给核心档书面承诺响应时延和可用性,重要档给软保障,测试和普通档明确是"尽力"。资源配额绑定放第三段,不同档位绑定不同的实例池和并发上限,核心档有专属保留容量,不会被测试流量挤占。保障看板与违约告警兜底,SLA 达成情况实时在大盘可见,违约自动告警并通知对应负责人,保障不是嘴上说说。

案例片段(已脱敏): 调用方分级与 SLA 资源绑定配置片段(示意):tier:  core:   {sla_ms: 800, reserved_pool: 4, priority: 0}  important:{sla_ms: 1500, reserved_pool: 2, priority: 1}  test:   {sla_ms: 0, reserved_pool: 0, priority: 3} enforce:  isolate_pool: true  alert_on_sla_miss: true上线后核心业务 SLA 达成率约 99.6%,关键业务受损率从约 12% 降到约 0.8%,保障可视度约 100%,违约告警平均时效约 1 分钟(数据均为脱敏示意值)。

三、关键技术挑战与解决思路

第一个坑是分级标准不客观。最早有人提议"谁嗓门大谁核心",显然不行。我们改用业务指标打分:影响终端客户数、是否营收直接链路、故障损失量级,按分定档,减少人为博弈。这一步决定分级能不能服众,标准模糊就回到扯皮老路。

第二个难点是资源隔离的成本。给核心档留专属池,意味着这部分算力闲时也空着,利用率账面上不好看。我们做了"专属池+共享溢出的混合模式",核心档优先用专属池,专属池满了才溢出到共享层,共享层空闲时核心档也能借用,既保了底又不浪费。这里有个权衡,隔离越硬保障越稳但越费资源,混合模式是我们找到的甜点。

第三个点是 SLA 违约的可观测。光承诺不监控等于没承诺。我们把每个档位的时延、错误率实时算出来,违约立刻告警,负责人手机上就能收到,把"保障"从 PPT 变成可追责的数字。

四、效果数据

核心业务 SLA 达成率约 99.6%,关键业务受损率从约 12% 降到约 0.8%,保障可视度约 100%,违约告警平均时效约 1 分钟。测试压测再也没把交易拖垮过,因为物理上就不在同一池子。我们复盘时发现,最意外的收益是团队沟通成本降了,以前出事先吵"谁的锅",现在看大盘分档,责任清清楚楚,吵架时间省下来干正事。

我们还把 SLA 数据接进了资源采购论证,核心档专属池到底值不值那点闲置,用真实保障数据说话,预算申请第一次有了硬依据。

我们后来把 SLA 数据接进了资源采购论证,核心档专属池到底值不值那点闲置,用真实保障数据说话,预算申请第一次有了硬依据,不再是凭感觉要卡。还有一块是档位动态调整,业务重要性会变化,比如某测试脚本某阶段要承担压测大任,临时升档并约定时限,过了时限自动降回,避免一次升档永久占用的僵化。保障看板开放给调用方自查看后,扯皮进一步减少,核心业务方自己能确认当前 SLA 状态,不用每次来问网关组,我们的支持工单明显变少,团队能把精力放到更深的水位治理上,而不是反复解释为什么慢。

补充一个实操细节,是违约告警的阈值设计。一开始 SLA 一破就告警,结果网络抖一下就炸群,值班同学麻木了,真出事反而没人理。我们改成滑动窗口统计,连续若干周期不达标才升级,偶发抖动只记不报。告警噪音降下来后,真正的核心业务受损才有人当回事,告警的权威性是靠少而准撑起来的,宁可漏报一个抖动也别滥发消磨信任。我们把这个原则也用在了其他告警上,整体值班负担轻了不少,真正重要的信号反而更突出了。

五、可复用经验总结

网关不能只管通不通,得管谁更该通,把 SLA 和资源保障绑到调用方级别,核心业务才不会被测试流量挤下去,公平不等于一视同仁。分级标准必须客观量化,靠人拍脑袋分级迟早沦为政治博弈,我们吃过这个暗亏。我后来觉得,专属池的闲置成本其实是最便宜的保险费,比起核心业务抖一次的损失,那点空转算力不算什么。违约告警这一步别省,没监控的 SLA 就是一句空话。说到底,网关的成熟度标志之一,是它能对不同的调用方说出不同的"我保证"。