织云团队告诉你,故障过后如何全面地制定规避措施

作者简介:梁定安,腾讯织云负责人,腾讯运维技术总监,开放运维联盟委员,腾讯云布道师,腾讯学院DevOps讲师,EXIN DevOps Master讲师,凤凰项目沙盘教练,复旦大学客座讲师。

因LOL(英雄联盟)S7总决赛在线抢票玩家数量过多,硬是把独家线上售票机构的服务弄挂了,众多玩家表示很不开心。

官方也发文致歉广大的游戏玩家。

作为一名运维,看到这篇新闻时,我同感不开心。因为这个故障很有可能会导致某个运维小伙伴背黑锅,虽然我们都知道“冰封三尺非一日之寒”,酿成本次故障的原因绝不仅是运维岗的责任,但事与愿违的是,往往“受伤的”却总是运维岗。

Anyway,干得了这行我们就承受得住故障的暴击,但同时我们也要不断的用先进的理论知识来武装自己,提升运维团队的整体实力。让我们一起用DevOps视角来看下,故障发生后,我们如何能做到“引以为鉴,举一反三”制定有效的规避措施,保障类似的故障不再发生。

DevOps的文化精髓CALMS,可以为我们指引改进的方向。

  • Culture(文化)- 是指拥抱变革,促进协作和沟通
  • Automation(自动化)- 是指将人为干预的环节从价值链中消除。
  • Lean(精益)- 是指通过使用精益原则促使高频率循环周期。
  • Metrics(指标)- 是指衡量每一个环节,并通过数据来改进循环周期。
  • Sharing(分享)- 是指与他人开放分享成功与失败的经验,并在错误中不断学习改进。

首先,DevOps是一种新的思维模式,我们不能以老观点来评判这次抢票的故障。Blameless是一个很关键的词,DevOps提出对待故障的正确方法,是不要责怪,不要罚钱,而是应该让团队在故障中学习和提高。这是Sharing的目标:分享责任、分享经验、分享信息、分享成功与失败,践行持续改善。

DevOps除了告诉我们要blameless要sharing,还有丰富的技术实践供我们参考学习。从IT价值链流转图中,我们能找到可以改进的点。

站在产品岗的角度,反思这次故障,可以尝试以下优化:

  • 排队购票机制,从产品体验上引入先来后到的队列机制,可以降低突发大量的用户冲击技术架构。这种招数在社交的场景屡试不爽,如打地鼠抢红包。
  • 预估业务量,产品经验有必要提前估算这次购票活动会带来的请求量规模,让技术团队能够有一定的依据来准备容量,可结合英雄联盟的热度和历史经验。
  • 错峰预约策略,这是一种产品策略,把相当于把峰值提前打散。如双11的提前预约再抢购,红米手机在QQ空间的活动,先抢资格择日再买。

站在开发团队的角度,在提升架构的性能吞吐的同时,可以站在运维的角度为架构增加些非功能性的特性。

  • 高性能web服务,结合分布式、消息队列、逻辑解耦等架构设计思路,提升接入层扛大并发的性能。
  • 数据垂直切分,避免热点过度集中压垮DB。
  • 自动拒绝服务,防止后台服务发生雪崩。
  • 做好实时监控流数据的监控,让运维具备发现异常和响应处理的能力。
  • 引入容器技术,让快速扩容具备条件。
  • 预留柔性策略开关,以备不时之需。
  • 合理选择路由服务,可结合zk实现服务自发现,或用名字服务代替IP直连。

站在测试团队的角度,在对业务逻辑验收完成的前提下,还要监督和保障所有非功能规范都能按要求实现。

  • 验收非功能特性,保证应用在上线前,所有可运维性需求都被实现。
  • 压测应用性能,把单机吞吐量告知运维,后者可合理的估算容量。
  • 测试用例服务化,让运维有能力在完成应用部署后,自动化调用测试用例验证服务功能,以实现自动部署自动上线。

终于轮到运维团队的改进措施,不仅是针对此次抢票故障,运维务必有一套规范流程对业务的运营活动进行质量保障。

  • 容量规划,根据业务活动的请求量和单机吞吐量,规划集群的容量,并保证备用buff设备能应对计划外的流量。
  • 扩容能力,提高扩容的速度和质量,给开发的架构提建议,给测试的工具提需求,以建设运维自动化为目标。
  • 容灾容错预案,调度、柔性的工具和策略要提前准备好,并时常演练,养兵千日用兵一时。
  • 参数调优,web性能的优化与内核参数有关,找到最贴切的参数组合,在运维侧为架构优化助力。
  • 防攻击能力,每次运营活动,都请保证所有请求的合法性,切勿因为安全问题导致服务不可用。
  • 实时的监控与告警,确保在关键时刻你的眼睛没瞎,能在第一时间收到火警,将火苗扑灭。
  • 与合作团队多沟通,重大的活动需要郑重对待,但首先得确保每个产品的重大活动都能够通知到运维团队。

综上对抢票故障的规避措施,要想整体提升企业IT能力,关靠个别团队的努力是不足够的,如DevOps方法论体系图描述的一样,我们需要结合精益、敏捷、持续交付、ITSM等理论和技术,为企业打造一个完整的DevOps文化与工具体系。

欢迎关注腾讯织云,获取最新技术资讯

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏SDNLAB

CPU故障触及Intel底线,Cisco其实很委屈

Intel在其2016年第四季度财报电话中透露,其某款CPU故障影响了公司盈利,该公司第四季度的收入创下了新的记录,同时2016年总收入也创下了594亿美元的记...

2584
来自专栏编程一生

漫画:大公司都在重复造轮子吗?

1024
来自专栏互联网高可用架构

从点线面体谈开发到架构师的转型【完整版】

1405
来自专栏Java架构

阿里巴巴十年Java架构师分享,会了这个知识点的人都去BAT了

1343
来自专栏SDNLAB

【业界观察】Treehouse项目助推SDN取得新突破

三位研究员日前宣布了软件定义网络(SDN)发展中的另一个里程碑,他们演示了第一个多域的能支持500000条路由的纯SDN IP传送网络。 Corsa技术公司,E...

2644
来自专栏Linux Python 加油站

面试 Linux 运维工作至少需要知道哪些知识?

作者:defcon来源:马哥教育链接:https://mp.weixin.qq.com/s/ZocozTkCNViMAtZIr7C7ww前言我们已经发过不少 L...

1092
来自专栏Java帮帮-微信公众号-技术文章全总结

项目管理——实践入门

项目管理——实践入门 前言: 项目管理的作用对象是项目团队(当然也有项目外部的干系人,本文只针对项目团队),最好的项目管理应该是让团队有清晰统一的目标、亲密无间...

3235
来自专栏CSDN技术头条

从点线面体谈开发到架构师的转型

我工作十余年,从负责一个模块,到负责一个产品,再到负责整个支付平台的架构设计,包括业务架构、产品架构到应用架构,再到技术架构,是一个从点到面逐渐转型的过程,同样...

1015
来自专栏CSDN技术头条

勃然而兴的NoSQL会不会忽然而亡?

NoSQL的崛起吸引了全世界的眼球,其声势之浩大,恐怕除了与世隔绝的人,都应该有所耳闻了吧。 NoSQL的应用正在迅速膨胀,而且不仅限于初创公司。甚至像Appl...

1795
来自专栏Java架构

阿里巴巴十年Java架构师分享,会了这个知识点的人都去BAT了1.源码分析专题2.分布式架构3.微服务架构专题5.性能优化6.工程化专题7.双11项目架构实战

1524

扫码关注云+社区