双11刚刚过去,今年整个团队准备的相对比较充分,双十一期间也算是波澜不惊,比较顺利的度过,这里一起探讨下大促前一般都是怎么准备的。
我们主要做以下几点:
1 项目封版
项目大概在双十一前20天封版,这个时间现在看来有点短,比较合适应该是一个月左右,因为这中间要大概两个礼拜来修复性能压测所发现的bug和优化。还要做一个礼拜的7X24个小时稳定性压测。
2 网络隔离
网络隔离指的是对测试环境,性能压测环境,UAT环境,生产环境进行隔离,即相应环境下的服务器是不能互通的,这样可以保证一个干净的网络环境,这样优先去掉了外界的干扰因素后面出现问题也便于排查。
3 系统压测
系统压测其实一直贯穿整个项目的周期,这个时候的系统压测重点是跟上下游系统的压测,或者说是整个系统业务的全链路压测,甚至要到CP这一层。
4 系统预案
做系统预案的时候主要包括两个部分,一个是技术预案,一个是业务预案。技术预案一般是自动容错,故障自动转移,主备自动切换,备用的网络专线,备用域名,备用服务器,数据堆积处理,上下游限流处理, 数据库阻塞、死锁、连接数满等等等等,这个后面专门弄个文章来讨论下。而业务预案往往被忽视,甚至没做,比如你的电商平台下有10家物流供应商,一旦其中的一个或者多个出现异常导致无法作业,这时候应该可以自动切换选择不同的供应商,或者调整权重分配。
5 故障演练
故障演练也包括两部分,一个是正常的故障演练,比如数据库主备库宕机自动切换演练,nginx主备切换演练,redis节点宕机切换演练,应用宕机演练等等。另外一个就是破坏性的演练,项目在不发通知的情况下秘密成立一个破还演习小组,在任何时间以任何手段对系统环境进行破坏,其中包括网络,中间件,应用,数据库等等,比如让网络突然掉线或者应用集群破坏50%,这个可以考验整个项目团队的应急能力和整个系统恢复所需要的时间以及看出更多的漏洞,最后项目团队做总结。
6 集中办公
集中办公一般在大促前的两个礼拜就开始了,项目的核心人员包括核心开发人员,架构师,DBA,网络工程师等到一个相对独立封闭的环境进行办公,这样做的主要目的就是保证这些人可以在一个相对安静的环境下更专注的去寻找系统中的一些漏洞和系统优化。
7 值班安排
系统的每个模块都要保证至少有2~3个人是精通的,这样一旦出现问题可以迅速的进行排查修复,而且安排7X24个小时白夜班轮岗。
欢迎大家各抒己见。。。