一、关于上线:
上线是大促事故的主要诱因之一,新逻辑未经过充分验证,问题比平时影响更大,公司为此提高了审批等级,希望大家重视。
1.不上线原则:大促前夕和大促中,能不上线,则不上线。
2.回滚有效:上线前确认本次上线是可回滚的,确定存在回滚版本,操作人熟悉回滚操作。更加稳妥的方法是:上线的新功能有开关,上线时先关闭新功能,验证正常后再打开新功能开关,并根据需要随时关闭新功能。
思考降级方案
3.按计划上线:上线前制定上线计划,准备好操作步骤,尽可能细地列出检查项,并且上线通知相关方。
严格codereview机制,小需求可以小范围两三人codereview,尽量保证代码质量
4.分流上线:采用分流方式上线,先用一个或者少量实例上线验证,验证通过后再分批上线其它实例;尽量避免一个系统所有实例一起关闭或者重启。
5.有效验证:不但要验证功能是否可用,还要验证逻辑是否正确,特别是数据正确性,需要持续观察。
6.结对上线:上线时采用结对方式,有系统主负责人参与,保证任何操作有人检查正确性
建立多人上线机制,系统上线至少保证两人在场,相互check,尽量避免人工的错误操作
7.重视配置:修改线上配置等同于上线,以上原则都适用
二、应急处理
大促期间经常出现紧急情况需要处理,处理不当可能会升级为故事,大家遇事不慌张,按原则和流程处理。
事件发生后,首要原则是“最快速地控制对业务影响”,即首先考虑的是控制对业务的影响或者恢复业务,而不是费时费力地寻找问题根源,一个小的问题,可能会因为处理时间过长而演变成大事故。回滚可能是一个有效的选择,不要担心面子问题。出现对业务影响比较大的情况或者趋势时,不要慌张,按预案处理,尽早地找同事一起处理,并及早向上汇报,以争取更多的资源和角色来控制影响, 越早决策,影响就越小,如果问题严重,每5分钟汇报进展。
1.控制影响优先:遇紧急情况,优先考虑控制事件对业务的影响,而