背景

对于服务发布上线,常常会出现测试(非生产)环境都没问题了,一上线就有异常告警报错等,具体有哪些类型及应该如果规避呢?

分类

问题与规避思路

1、数据问题:该类问题的影响也可以归于程序问题,常因边界或异常情况考虑不全或数据清洗等。
思路:此类问题需要开发同学开发时多关注数据源空与类型问题及数据域的隔离。

2、测试与生产环境不一:如添加配置,配置项出现问题(少配置、配置不正确、格式问题等)或接入的第三方需要特殊配置白名单等。
思路:此类问题可以通过进行不同环境配置对比及多人review审核来尽量规避。

3、服务依赖方支持问题:如发布依赖一些相关方,相关方没有正常发布或没有按正常顺序进行。
思路:此类问题可以通过制定详细的发布清单,在发布期间由相关方按序确认发布事项,保障各环节执行无误。

保障措施

总有些无法规避的问题,因为人为或环境导致,需要考虑如何减少业务影响:
1、如果有条件可以支持部分流量切入来减少生产影响,如小程序发布时自带选择灰度流量与指定用户发布。
2、如果有必要,可以制定回滚方案,出现问题能够秒级回滚。