背景
re消息limit上线之前有这样的问题:
1.存量用户,会感知到新功能;
2.后端、前端上线间隔期间,如果没做兼容,涉及到接口数据格式变更,会导致C端拉取数据报错;
3.改模板配置,会导致老信息的格式显示异常;需要代码兼容或者忍受异常的显示。
反思
如果是C端发布,需要考虑兼容性问题。按以下步骤
1.初步确定上线顺序;
2.按维度排查兼容问题,维度包括
- 前后端延时上线
- 存量数据(流程相关、存储相关)
- 增量数据
- 接口变更等
3.兼容处理:功能开关、代码兼容、冗余老接口。
4.check兼容问题,重新评估兼容问题。
延伸
以上内容,是细节的兼容处理;还可以通过切流量的方式,整体保证兼容性。
比如4台前端、4台后端。分成两组,A组2前端2后端,B组2前端2后端。
- 公网流量打到A组,A组前端流量打到A组后端,此时A组都是老版本;
- B组前后端发布新版本;
- 整体切流量,从A到B;
- 发布B组,切到全流量
避免新版本全网裸奔,可以再细分成多组机器。
小流量 公网ip以1结尾的用户,切到新版本服务;
看具体效果,然后再整体切流量。