云上应用灰度发布,先把流量分组规则定下来
【摘要】 灰度发布需要明确哪些请求进入新版本,以及何时扩大或停止。本文从用户分组、版本兼容、指标对比和回退条件入手,梳理云上应用逐步发布时需要提前约定的几件事。
在华为云上部署应用时,如果一次修改涉及核心业务,可以考虑先让部分流量进入新版本,再根据运行情况逐步扩大范围。比如订单确认页调整了计算逻辑,就需要提前约定谁会使用新版本、观察哪些变化,以及出现异常时如何处理。
一、让分组结果保持稳定
如果每次请求都随机选择版本,同一个用户可能在新旧页面之间来回切换。对需要连续操作的业务,可以按可信的用户标识进行稳定分组,并保证多个应用实例使用相同规则。尚未登录的访问则需要另行设计会话分组方式,避免只依赖容易变化的网络地址。
二、检查新旧版本能否共存
灰度期间,新旧版本可能同时访问数据库、缓存和消息。新增字段、状态值或消息格式时,应先确认另一版本能否正常读取。对于会改变已有数据含义的操作,不能只考虑代码切回去,还要明确这些数据是否仍然兼容。必要时将数据变更与功能开放分阶段执行。
三、比较相近条件下的指标
除了观察错误率和响应时间,还应关注提交成功率等业务结果。比较时尽量选择业务类型、时间段和用户特征接近的流量,并留意请求量是否足够。少量请求暂时没有报错,只能说明观察范围内的情况,不能直接推断全面放量后的表现。
四、事先写清停止和回退条件
发布前约定每一阶段的观察时间、扩大范围的条件和负责人员。触发异常后,可以先停止增加新流量,再按预案处理已有请求与数据。回退也需要验证,尤其要关注正在进行的订单、长连接以及已经写入的新状态。
把分组规则、版本标识和关键观察结果记录下来,能帮助团队判断问题来自版本变化还是流量差异,也让下一次发布有据可查。
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)