-
我给一个上线已久的服务改了下消息格式把一个字段重命名顺手就发版了、自测和预发都好好的,可滚动发布刚推到一半生产就开始零星报错有些消息处理失败有些又正常、等全部实例滚完反而又恢复了,排查很久才反应过来滚动发布的那几分钟里新旧两个版本是同时在线的旧实例根本不认识新字段的深度复盘
我维护一个跑了很久的服务、通过消息队列和另一个消费方协作,这次做了个看起来无伤大雅的改动:把消息体里一个字段从 userName 改名成 username 统一命名风格,生产者消费者代码都改了,本地自测预发联调全正常就走正常流程滚动发布上线。结果发布过程中监控抽风:刚开始推新版本一切正常、等滚动发布推进到一半左右消费方开始零星报错(取不到用户名字段 null)、有的消息失败有的又好好的成功失败夹杂…- 2
- 0
-
全量发布翻车回滚又慢:发布与回滚避坑复盘
那是一次再普通不过的版本发布,功能测试都过了我满怀信心把新版本一把推到生产——全量、所有机器一次性替换。结果几分钟后告警炸了:新版本里一个谁也没料到的问题在生产真实流量下暴露出来,服务大面积报错。我第一反应是赶紧回滚,可这时才发现真正的噩梦:我们没有一个一键回滚到上个版本的机制,要回滚得重新从代码仓库拉旧版本、重新构建打包部署一遍,这套流程走下来花了将近半小时,于是一个本可几分钟消弭的小问题因为回…- 2
- 0
-
Nginx 反向代理完全指南:从一次"灰度发布把会话切串了"看懂 proxy_pass 的尾斜杠为什么这么重要
2023 年我维护一个内部 API 服务用 Nginx 做反向代理前面挂着多个上游应用上线一年多一直很稳直到某次产品要做个大功能上线灰度需要按用户 ID 把 10% 的流量切到新版本服务我心里很笃定 Nginx 配置嘛简单加几个 upstream 加个 split_clients 切流量就行可等真把这套上线一串问题冒了出来第一种最先把我打懵新版本上线后旧版本依然有零星 504 客户端报 upstr…- 6
- 0
-
灰度发布完全指南:从一次"新版本一上线就砸中全部用户"看懂流量切分、渐进放量与自动回滚
2023 年我维护一个面向真实用户的 Web 服务隔三差五就要发一次版上一次线。把新版本上线这件事我压根没多想。第一版我做得很省事上线不就是把新代码部署到所有服务器把流量全切到新版本写个部署脚本一台台停服务换代码起服务最后把流量一切上线完成。本地开发时真不错我在测试环境点一下新版本部署上去功能正常几分钟搞定干净利落。我心里很踏实上线嘛不就是把新代码铺上去让所有用户用上新版本。可等这套上线方式用在真…- 0
- 0
灰度发布
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!




