“双十一”刚刚结束,其实最紧张的不是商铺理货,也不是网友紧盯大促商品准备秒杀,而是网购幕后的运维人员,他们最担忧:什么网络中断、应用卡顿、响应速度慢,服务器宕机……算法
双十一做为电商 IT 部门的头等大事,大促前,运维人员就须要早早地作好多套预备方案,并时刻紧绷着神经,经历着上百次模拟演练。他们在后端有多少不眠不休的夜晚,不得而知。几年前,一场秒杀让服务器宕机是常态,如今,一秒数十万的订单,服务器依然坚挺。毫无疑问,支撑起这一切的是强有力的技术和运维人一个个不眠的夜晚。数据库
看似简单的双十一背后牵扯到是包括支付、架构、数据库、网络、运维、电力、客服、物流等整个商业配套基础设施的协同和考验。后端
双十一大促的那些年 运维迈过的坑服务器
天猫双十一大促最先开始于 2009 年,那时候仍是淘宝商城,一天的 GMV 只有几千万,并且尚未零点全民疯抢的概念。在大促前工程师们基本上会根据各自的经验判断,好比服务器的当前负载、应用的当前 RT 和 QPS,判断每台服务器最大能支撑多少能力等,而后几我的讨论后就决策拍板,某某核心应用各自要加多少台服务器,到底要加多少服务器,实际上你们的内心没底,实在不放心临时再多申请扩容。总之这个阶段业务量也小,也能应付过去。网络
后来几年随着天猫品牌的提高,双十一大促逐年爆发,原来的运维方式已经没法适用。业务发展迅速,后端的应用数量也大大增长,各个应用系统之间的调用链路错综复杂。大促前到底要准备扩容多少资源?不能拍脑壳热,由于你申请资源太多会可能被拒绝,申请少了你要承担更大的风险。这时候用线上压测的方式来解决,好比能够直接在生产环境抽取 1 台服务器,经过模拟回放或者直接引入多倍流量作压测,根据压测结果计算出单台服务器的最大可承载能力,而后用数字来讲话,去申请扩容。还有就是即便容量规划作到位了,但在零点峰值的时候仍是可能会超出预期,系统仍是会挤爆。因此又引入了限流和降级,限流就是对各个应用设置一个最大阈值,超过阈值就马上拒绝新的请求,这样的好处就是保护应用,避免雪崩。还有就是降级,因为应用太多,在大促的期间,能够关闭部分非核心功能,保证交易主流程的能力最大化。那个阶段的压测也不是彻底精确的,主要问题是压测的局限性,只是对某个应用作单独压测,可是应用之间是有依赖有关联的,特别是一些共享服务中心,基本上被全部应用都依赖调用,那怎么办呢?后来几年时间又研发出新的压测工具,全链路压测。这个对于容量规划来讲,是全新的思路,直接在生产环境上经过模拟复制产生大批的流量,每一个环节都会被压测到,并有相应的监控系统配套,来找出瓶颈点在哪里,并迅速优化。并且这个过程被自动化完成。架构
可见,自动化运维是大势所趋。并发
零点疯抢背后的指挥若定负载均衡
如今的电商双十一大促活动仍旧延续零点疯抢模式,对于应用系统保障来讲,可否顺利扛过前 15 分钟,甚至是前几分钟,成为最核心的保障任务。运维界大咖给出了如下几点建议:可否顺利扛过前 15 分钟,甚至是前几分钟,成为最核心的保障任务。具体给出了如下几点建议:运维
a. 容量规划。 尽量在生产环境作压测,只有经历过压测,内心才会有底。机器学习
b. 关键应用要支持限流。 零点全民疯狂的流量极可能会超出预期,只有设置好限流才能保护好自身应用,不然出现雪崩式连锁反应。
c. 对非核心功能作降级。 每次双十一会投入大量的资源,基本会往核心交易类应用倾斜,那么非核心功能的降级必定程度上是可接受的。
d. 应急预案。 对可能发生的异常情况提早准备。
双十一大促是最典型的弹性场景
弹性是云计算的最大优点,而大促是最典型的弹性场景。
随着云计算特别是公有云的普及,如今的运维人员基本上无需关注机房、网络、操做系统等底层设施。在不断地演练后,现在的电商平台早已采用弹性可扩展的云计算平台,配合分布式数据,高效的 CDN 分发来实现负载均衡,避免在双十一凌晨高并发状态下崩盘。运维人员将更多精力转移到快速上线,快速迭代,去支持业务发展。
大促活动的流量跟平常彻底不在一个量级,彻底能够利用云资源的按需使用,来达到扩容的需求,并且在成本上是巨大的节省。除了扩容之外,固然还须要准备应急预案。整理出当天可能出现的异常状况,提早预演。
去年天猫双十一开场仅仅十分钟,世界支付纪录被再次刷新。支付宝公布的数据显示,在零点 9 分 39 秒,支付宝的支付峰值达到 12 万笔/秒,是前年的 1.4 倍,刷新了去年创下的峰值纪录。在支付方式的选择上,花呗和余额宝成为很是受网友欢迎的支付方式,笔数占比分别高达 29% 和 18% 。
经得起巨额交易,玩得起光速秒杀,技术系统抗得住,收益率流动性各类稳妥……只有经得起双十一的终极考验的才算是真正的神器!
智能运维要借助数据和算法才能实现
运维的发展阶段经历了从标准化、工具化、自动化、到如今初露端倪的智能化,每一个阶段的发展都表明了生产力和效率的大幅提高,整个趋势是不可避免的。智能时代的运维不是要让运维人员失业,而是对运维效率的提升有着极大的诉求,好比如何在错综复杂的环境中快速定位问题、root cause、甚至是故障预测,避免发生故障,保障应用稳定性。
智能运维要借助数据 (运维数据) 和算法才能实现。首先运维能力的发展不是直接跳到智能运维阶段的,必然通过标准化、工具化、到自动化的发展过程,只有高度完善的自动化才具有基础能力。其次就是数据积累,须要大量的运维数据,能够是日志数据、网络抓包数据、数据库数据等等。还有平常运维产生标注的数据,好比出一次故障后,运维人员会记录下过程,这个过程会反馈到系统,反过来提高运维水平。最后就是算法,到底采用哪类算法模型作持续优化。
天弘基金在运维部门但愿经过服务器性能日志采集分析,实时监控应用系统基础资源的使用状况,经过采集客户端 Agent 收集服务器和集群组件的 CPU、内存使用率,以可视化形式展现资源运行情况。
据悉,天弘基金云日志平台项目已开始进行内部推广,在系统正式运行期间获得了用户承认,对用户的具体价值体如今如下几个方面:
运维人员:数据脱敏功能帮助运维人员解放人力;采集资源管控功能能够防止 Agent 程序对服务器和应用产生影响,有效避免灾难性故障发生。
研发人员:日志查询功能可方便快捷的查询日志文件;调用链分析帮助研发人员快速定位故障缘由和问题点,协助研发团队优化系统代码并进行架构治理。
业务人员:监控告警功能可及时发现业务故障,最大程度上下降故障响应时间,提高用户服务体验。
管理人员:智能运维可实时掌握服务资源运行状况,并可以预测集群水位,提供基础资源扩容建议。
写在最后
除去上述,全部运维团队还须要提早制定值班计划,对双十一当天可能发生的各类突发状况预案,双十一各时段应该关注的关键点进行详尽计划。总之,每一年双十一都是一次检验,一次大考。细节决定成败,对全体运维人而言,必须全部细节都关注到,演练到,准备到,才足以从容应对每年的双十一大促。
截至 11月 12 日零点,2017 年天猫“ 双十一 ”交易额定格在 1682.69 亿元人民币。不断创新高的销售额、交易峰值、支付峰值,这些惊人数字的背后倚仗的是怎样的技术体系?智能化正逐渐走入 IT 行业乃至社会生活的各个方面。将来,利用大数据关联分析与机器学习技术为运维系统赋予人工智能,提供从故障预防到故障定位、再到故障闭环的智能保障能力。或许到那个时候,运维工程师也能够轻松玩转双十一,妥妥的购物买买买啦!