系统 日常 请求量 QPS 30万 - 40 万 三十个实例 ,每个实例 8C16G, cpu 日常 占用是 40%,内存占用 60%
一个同事上线一个小功能,涉及到修改缓存 redis , 需要将 之前 缓存的 大 key 全部清除掉
开发完,测试也没问题,就开始 上线
先灰度了2个实例,发现有点儿小问题,就回滚
改完后,又上线,几分钟内,发现没问题了,就开始 全量发布
服务刚起来,没多久,告警就来了,实例有问题
于是查看服务 日志 ,显示 是 redis 集群问题
联系redis 维护团队
排查是不是 redis 集群出问题了
又 联系 数据库 团队,排查 数据库有没有出问题
因为这次删除了大key , 怀疑是 这里导致的
赶紧将发布回滚,因为刚才已经全量发布了,一下子全部30个实例全部回滚重起
这个时候,可怕的事情发生了,30个实例,在不断重启,刚起来 就 全部 被 kill 掉
大家都很着急,都在排查中。。。
过了一会儿,客户端团队反馈过来信息,客户端流量涨了3倍
于是呢,先不管啥情况,既然请求量是 平时的 3倍,先把实例数扩充 3倍
实例扩充到 90个
这时候,服务顺利启动并运行
这时候半小时已经过去了
后续运行平稳,实例逐步缩容到 30个
复盘: 大流量系统,服务全部重启时,流量在路上堵着,所以翻3倍,甚至更多,和timeout时间有关。