部署完、跑通了,不代表能上线。
我们公司上次从"网关跑通"到"正式生产环境切流",中间隔了差不多两周。中间做了环境隔离、压测、灰度、回滚预案、监控配置这些事。
这篇把从部署到上线的完整流程理一遍,每一步该做什么、要注意什么。适合第一次把MAI Gateway上生产的团队参考。
阶段一:部署(Day 1)
部署这步就不展开了,参考之前写的Docker单机部署或集群版部署。
部署完之后,第一件事不是接渠道,是做环境隔离。
至少分两套环境:测试环境(staging)和生产环境(prod)。如果团队大的话还要加开发环境(dev)。
两套环境用不同的数据库、不同的Redis实例、不同的端口。不要共用,不然后面测试数据污染生产数据就麻烦了。
配置管理建议用环境变量或者配置中心。不同环境用不同的.env文件,启动的时候指定对应的配置。不要一个配置文件改来改去,容易忘改回去。
阶段二:基础验证(Day 1-2)
部署完、环境隔离好,开始做基础验证。目的是确保网关本身正常工作,功能没毛病。
验证清单
**1. 渠道连通性。**把所有要接的渠道都加一遍,每个都点"测试连接"。确保每一个都能通。如果有渠道测试失败,先搞定渠道配置,不要留到后面。
**2. 端到端调用。**用curl发几个不同类型的请求:chat对话、embedding向量化、图片生成。每种类型都跑通,确认网关能正确转发。
**3. 日志记录。**调用完几个请求,去API请求日志里看。每一个请求都要有记录,Token消耗要正确,渠道信息要对。
**4. 数据脱敏。**配置几条脱敏规则(手机号、身份证号、邮箱),发一条包含这些信息的测试请求,看返回结果里这些信息是不是真的被脱敏了。再去日志里看,脱敏是不是也作用在日志上了。
**5. 配额限制。**给一个测试令牌设很低的配额(比如日配额1次),连续调两次。第一次应该成功,第二次应该被429拒绝。确认配额真的生效了。
**6. 多渠道故障转移。**给同一个模型配两个渠道,主渠道测完之后,把主渠道的Base URL改成错的(模拟挂了),再调这个模型,看网关是不是自动切到备用渠道了。
这六项,每一项都要验证通过,才能进入下一阶段。
阶段三:压测(Day 3-5)
基础功能没问题了,开始压测。目的是摸清楚网关的性能上限,确定生产环境的资源配置。
压测工具
用k6或者Locust都行。k6是Go写的,支持高并发;Locust是Python写的,容易写脚本。
压测的核心是模拟真实场景的并发调用。不是单纯发请求,而是模拟真实业务的请求模式:不是瞬间全部打进来,是逐步爬坡、持续一段时间、有波动。
压测脚本示例(k6)
import http from 'k6/http';
import { check, sleep } from 'k6';
export let options = {
stages: [
{ duration: '1m', target: 50 }, // 1分钟爬到50并发
{ duration: '3m', target: 50 }, // 持续3分钟
{ duration: '1m', target: 0 }, // 降到0
],
};
export default function () {
let payload = JSON.stringify({
model: 'qwen-turbo',
messages: [{"role": "user", "content": "你好"}]
});
let res = http.post('http://网关地址:8000/v1/chat/completions', payload, {
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer sk-maig-测试令牌'
}
});
check(res, {
'status is 200': (r) => r.status === 200,
'response time < 2s': (r) => r.timings.duration < 2000,
});
sleep(1);
}
把测试令牌换好,模型名换成你实际要压的模型。先小并发试脚本,确认没问题了再上大并发。
压测要关注什么
**1. 网关自身的CPU和内存。**压测的时候监控API Server节点的CPU和内存。单机场景下CPU不要超过70%,留余量给峰值。内存不要超过80%,防止OOM。
**2. API延迟。**P50、P95、P99三个指标都要看。P50是中位数延迟,P95是95%的请求在这个时间内完成,P99是99%的请求。P95和P99高说明有长尾问题。
**3. 错误率。**看网关有没有返回5xx错误。错误率超过1%就不正常,要排查。
**4. 渠道的响应。**网关转发到渠道之后,渠道的响应时间和错误率怎么样。有的问题不是网关的,是渠道扛不住。
压测结论
压测跑完之后,得出三个数字:网关能稳定支撑的并发上限、P95延迟、错误率。根据这三个数字确定生产环境需要多少资源。
比如压测下来,单机8核16G的MAI Gateway能稳定支撑300并发,P95延迟1.8秒,错误率0.2%。那如果你的峰值是500并发,就要上集群版,至少两个节点。
阶段四:监控和告警配置(Day 5-6)
压测完成,知道网关能扛多少了。接下来配监控。
MAI Gateway自带基础监控面板,能看到节点状态、API QPS、Token消耗。但生产环境建议自己接一套完整的监控。
必配的监控项
**节点层面:**每个节点的CPU使用率、内存使用率、磁盘使用率、网络流量。
**网关层面:**QPS(每秒请求数)、P50/P95/P99延迟、错误率、每个渠道的请求量和成功率。
**业务层面:**总Token消耗、总费用、每个部门的用量、令牌配额使用情况。
**基础设施:**数据库连接数、数据库慢查询、Redis内存使用、Redis连接数。
必配的告警规则
节点CPU > 80% 持续5分钟 → 告警。
API P95延迟 > 2秒 持续3分钟 → 告警。
API错误率 > 5% 持续1分钟 → 紧急告警。
某个渠道的成功率 < 90% 持续3分钟 → 告警。
Redis内存 > 80% → 告警。
数据库连接数 > 80% → 告警。
令牌配额 > 90% 月配额 → 通知对应部门。
告警渠道建议至少两条:企业微信/钉钉 + 短信/电话。关键时刻短信不能断。
阶段五:灰度上线(Day 7-10)
前面都搞定了,开始切流量。不建议一下子全切,分阶段灰度。
灰度策略
**第一步:影子流量。**先不切真实流量,复制一份真实流量打到网关上。网关处理完但不影响真实返回。主要目的是看网关在真实流量下的表现:延迟、错误率、资源占用。如果有问题,影子流量不影响业务。
**第二步:小流量灰度(5%)。**选一个非核心业务团队,让他们开始用网关。其他团队还走原来的方式。观察1-2天,没问题继续。
**第三步:中流量灰度(30%)。**扩大范围,5-10个业务团队切过来。观察2-3天。
**第四步:全量切流。**所有业务团队都走网关。原来直接调供应商API的代码可以逐步下线。
**第五步:清理旧配置。**确认所有业务都走网关、没有直接调供应商的了,把旧的API Key统一回收。
灰度期间关注什么
每天看3次以上的监控面板。重点关注:API错误率有没有突然升高、延迟有没有突然变大、某个渠道是不是挂了、配额有没有超。
每天跟用网关的业务方聊一次,问问有没有遇到什么问题、用户反馈怎么样。
灰度期间,技术支持要值班。一旦出问题,能快速响应。
阶段六:回滚预案(全程要有)
灰度期间一定要有回滚预案。万一网关出问题了,怎么快速切回原来的方式。
最简单的回滚方式:业务方的配置里保留原来的Base URL和Key。灰度的时候改Base URL指向网关。回滚的时候改回去就行。
如果流量是通过Nginx切的(比如5%流量走网关、95%走原来的),回滚就是把Nginx配置改成0%走网关。Nginx reload一下,几秒内就能回滚。
回滚预案要提前演练一次。不要等出了问题才想怎么回。
阶段七:上线后的持续维护
全量上线之后,不是结束,是开始。
**每天:**花5-10分钟看一下监控,确认一切正常。
**每周:**检查一次所有渠道的成功率和响应时间。检查令牌配额告警有没有遗漏的。看一下费用中心的消费明细,确认用量在预期内。
**每月:**清理过期令牌(离职员工、废弃项目)。清理旧日志。看一下厂商有没有新版本,确认没问题就升级。评估一下是否需要扩容(用量涨了多少、资源使用率怎么样)。
**每季度:**重新梳理一下渠道和模型。哪些模型用得少可以停掉?哪些渠道质量差要换掉?有没有新的模型值得接入?配额要不要重新调整?
时间线总结
把整个流程的时间线汇总一下:
Day 1:部署 + 环境隔离。
Day 1-2:基础功能验证(6项)。
Day 3-5:压测,确定资源配置。
Day 5-6:监控和告警配置。
Day 7-10:灰度上线(5%→30%→全量)。
Day 11+:持续维护。
从部署到全量上线,正常情况下两周以内。如果中间压测或者灰度遇到问题,可能延长到三周。
最后说几句
部署完跑通不算什么,能稳定撑住生产流量才是真本事。
我们第一次上线的时候,灰度到30%的时候出了个问题------某个渠道响应慢,P99延迟飙升到5秒。花了两小时排查,最后发现是网关的连接池配置太小了,调大之后就正常了。如果直接全量切,后果不堪设想。
所以灰度、回滚、监控,一个都不能少。这三样东西,比部署本身重要得多。
MAI Gateway本身是个成熟的产品,部署和配置不算难。真正考验团队的是上线前的准备工作和上线后的持续运维。把这些做扎实了,网关就能稳定跑很久。
魔芋AI 走到今天,离不开每一位用户的支持与信任。为感谢大家一路同行,我们在今年双十一拿出最大的诚意,为大家带来不一样的玩法和极致的折扣体验:
✅每日打卡:连续签到 11 天,可获得千万token以及抽奖机会!
✅限时秒杀:数百款大模型全线打折,Deepseek、GLM 5.2、Wan 3.0、MiniMax-H3-Fast全都有,低至0.1折!
✅组队开黑:双人各得亿万 Token,车队人越多价越低,低至 2 折!
✅邀新任务:每邀 1 位实名好友 1000万,最高可得 2.1亿!
✅幸运转盘:大转盘盲盒抽奖,100% 中奖,无空奖!