对于灰度发布(金丝雀发布)的了解

灰度是使用在版本更新或者一个新的软件的推出,通俗叫内测版本,通过内测玩家的反馈及时对新功能进行一个调整,如果反馈良好就可以将新功能按照一定的百分比逐步开放给用户,确保实现旧功能到新功能的平滑过渡。跟灰度发布相反的时候全量发布,全量发布就是把功能一次性全部发送给用户。灰度和全量的区别是,灰量在上线之后可以持续的得到用户的反馈,但是全量只依靠上线前的测试,在上线之后遇到问题容易崩。

实现过程

  1. 在开发环境中已经全部测试完毕,能够正常运行,然后投入生产环境中,在此阶段就需要制定好了详细的灰度发布计划
  2. 引入生产环境之后依旧不对所有用户开放,首先需要看新功能在生产环境中正常运行且不影响其他功能
  3. 如果在生产环境中能够正常运行且不影响其他功能,那么可以选择对一部分用户进行开放,持续获得用户反馈以及持续改进
  4. 如果得到了部分用户的良好反馈,那么可以逐步提高曝光比例,逐渐覆盖大部分用户,在这个循序渐进的过程中,也需要持续关注用户反馈,及时做出改正和回滚
  5. 如果持续推进中用户反馈良好,那么可以将其全面发布,同时要确保旧版本和新版本的平滑过渡,避免对用户造成影响

理解

通过逻辑兼容,数据双写,数据分流来进行新老功能的切换

例如:我现在有一个表格里面有一个字段为user_id,现在我想改成userId该怎么进行

逻辑兼容:在后端中可同时接收这俩个字段,前端获取到的id传给后端的user_id和userId,使功能能够正常进行

数据双写:现在在后端中另开一个表,新表和旧表之间的区别就是这个字段,然后用户上传数据的时候分别都上传到俩个表中

数据分流:在前端的时候埋下一个点,并进行标记,测试用户更加偏向于哪个字段点击多一点。关于这个埋点和监控,埋点就是在更新的功能中做一个记号,监听用户的使用,主要就是关注这个新功能在用户中的体验如何。

总结

整个灰度需要开发小组的一个配合,作为前端开发成员在灰度发布中需要对所选中体验新功能的用户进行一个标记,然后分流到不同的系统中进行体验,并且要实时监控新接口的调用成功率,并做出及时反馈。

作为前端开发人员,需要仔细揣摩怎么进行灰度,遇到情况能不能退回到旧版本,或者说有没有备用方案进行保障,要站在用户的角度思考,怎么使用是最舒适的,遇到问题怎么解决是最快捷的。

期待大家的友好交流和经验分享👍👍👍

相关推荐
我有一棵树4 小时前
前端图片加载失败、 img 出现裂图的原因全解析
前端
FIN66684 小时前
昂瑞微冲刺科创板:硬科技与资本市场的双向奔赴
前端·人工智能·科技·前端框架·智能
im_AMBER4 小时前
杂记 14
前端·笔记·学习·web
牧杉-惊蛰5 小时前
disable-devtool 网络安全 禁止打开控制台
前端·css·vue.js
C+ 安口木5 小时前
vue中监听window某个属性被添加或值的变化
前端·javascript·vue.js
山海鲸可视化5 小时前
简单聊聊数据可视化大屏制作的前端设计与后端开发
前端·信息可视化·数字孪生·数据可视化·3d模型·三维渲染
CoderYanger5 小时前
前端基础-HTML入门保姆级课堂笔记
前端·javascript·css·html
赛博切图仔5 小时前
qiankun、micro-app、wujie,2025年我们该选谁?
前端·javascript
LuckySusu5 小时前
【vue篇】Vue 自定义指令完全指南:从入门到高级实战
前端·vue.js