大流量高并发互联网应用实践在线峰会官网:
峰会统一报名链接:
议题名称:《云数据库超大流量峰值保障最佳实践》
议题简介:本次演讲收集整理了自RDS成立至今,在历次大流量峰值中如何保障活动中云数据库备战的最佳实践,包括之前的改造,压测和扩容;期间的监控,预案执行和应急处理;之后的收容和总结。力求全链路地帮助客户安全稳定地渡过超大流量峰值,让在你备战过程中少走一些弯路,多一些从容。
听众收益:
1)了解历次超大流量峰值时云数据库备战保障中出现过程的问题;
2)掌握历次超大流量峰值时云数据库备战保障的最佳实践
关于分享者
罗龙九(花名:玄惭),阿里云DBA专家,有着丰厚的DBA经验,经历阿里历年双11考验,负责阿里云RDS线上稳定以及专家服务团队,积累了6年对阿里云数据库用户的运维、调优、诊断等丰富的经验。
更多峰会议题,请参见官网:
采访正文:
说到大流量高并发互联网应用实践,就不得不提下阿里云DBA核心专家玄惭。他在数据库领域,连续4年支持天猫双11。
其所在团队的亮眼成绩如下:
高峰期间集群的总QPS达到了近300W每秒;
单个商家最高处理订单的能力超过400万单;
百万商家在AliCloudDB上稳定运行,全网实现了0故障,0丢单。
这样的成就,在当初是如何实现技术突破的?
“2012年双11备战,记忆犹新。双11的前一个月,阿里云数据库团队白天要准备资源和双11所有工作,夜里还需要协助用户将数据库迁移上云。弹性升级需要对实例逐个进行升级,商家的数据库也需要逐个进行优化,并为商家提出优化建议。天猫双11能否扛过零点高峰?我的心里是打鼓的,但结果让我们深受鼓舞,完全OK。”在采访中,玄惭说。
他说,2013年主要是指数增长和数据链路改造迁移。“2013年是阿里云数据库支撑双11商家后台核心数据库的第二年。其承担了天猫50%的订单量。如果用一个关键词来形容2013年的双11,那就是变化。第一年双11实例规模量不是很大,然而2013年的双11实例数规模则是成指数级别增长。原来的数据访问链路层的容量已经不能再支持如此规模的用户量。所以我们开始对数据链路访问层进行改造迁移。改造迁移过程的时间点与双11的备战时间点重合,由此触发了非常多的变化,给双11的备战工作造成了很大的压力。一路拼搏,终于在双11之前把链路架构稳定下来。双11当天,记忆尤深的是下午6点左右出现的惊心动魄的场面。由于一个用户发送了超大长度的SQL到阿里云数据库,同时由于Proxy本身问题,所以整个proxy集群出现异常。虽然问题很快得到了处理,影响可控,但给我们敲响了警钟——2014年要重点把数据链路中间层稳定下来。”
“2014年的双11,阿里云数据库在经历了两年的成长期之后开始迎来成熟。汲取了2013年数据链路改造的惨痛教训,我们在双11前统一了所有集群的数据链路访问。在支持灵活数据链路访问模式,高安全链路访问模式下,实现了SQL注入的拦截功能,帮助用户更简单地防护数据库的安全,避免数据库被注入攻破。双11当天表现平稳。承担了天猫96%的订单量。集群QPS峰值达到142W。集群RDS实例数也达到了历史新高。”2014年是已经趋于稳定的一年,玄惭点评到。
“2015年集群的规模越来越大,双11我们为集群预备了2-3倍容量资源供用户弹性升级使用。为了使新上线的机器得到资源最大化利用,以保障系统的稳定,需要将老机器上的实例离散到新机器上。同时双11活动完后我们需要把这一批扩容的主机下线,将其补充到其他业务集群进行售卖,以实现资源利用率最大化。针对上面的两个应用场景,RDS启动了移山项目。移山离散策略着力于对主机以及实例最近的性能数据进行计算,得出需要迁移离散的实例列表。移山收容策略则对集群和主机的性能数据进行计算,进而得出需要收容的主机实例列表。”
这四年的双十一支持,也让他沉淀下来不少经验。
他认为,安全和稳定是一个全链路的事情,从客户的应用端访问,到中间链路层,最后到底层的数据存取,要构建一个安全和稳定体系十分复杂。“以ApsaraDB MySQL安全能力的构建思路与方法,安全的问题需要从事前、事中、事后三个时间轴,以及存储层、网络层、访问层、应用层四个层面,立体化地构建解决方案。于企业而言,不同的数据需要不同安全策略。”
他建议,对于一些安全程度要求较低的数据,对应的安全策略是:配置了HA高可用;每月一次验证备份的可靠性,备份保留30天;同时关闭公网访问或者采用VPC、IP白名单;涉及到用户隐私的高级数据,云数据库的安全策略进一步升级:首先云数据数据库密码是1-3月更换一次;同时打开TDE加密;数据备份全部存储在OSS中,可保留90天之久;此外数据库还应该支持同城容灾。对于核心数据而言,云数据库首先在应用层加密,支持SSL加密传输,备份可保留720天,同时支持跨地域容灾和两地三中心的部署方式(详细可参考“你的数据在云上,安全吗”)。
在稳定性上,玄惭补充到:“复杂的系统的稳定运行离不开两个必不可少的系统,即全链路的监控系统和巡检系统。”巡检系统帮助你把系统各个组件日常运行过程中出现的问题暴露处理,把问题消灭在萌芽阶段,防范于蔚然,巡检规则需要你不断地去完善,这需要一个过程;全链路监控系统帮助管理者能够清晰地判断问题出现在那里,系统的各个部件清晰地展示在你的面前,当问题发生时候能够快速定位问题,降低故障出现的时间。他认为,特别是在复杂的系统中,有十几二十多个部件,没有全链路的监控系统,根本就无法掌控。
而在一名优秀的DBA如何修炼上,他认为责任和敬畏心非常重要。
玄惭称,具备责任心和敬畏心是优秀DBA的基础,“一个企业最宝贵的资产在你手上,必须要具备这些要素。”其次,处理线上的故障时,需要有大心脏去扛住外界的压力,同时还需要细心,让你在复杂多乱的环境下抓住问题的本质,快速解决问题;“最后,还需要有一个乐于总结分享的心态,我见到很多业界Top专家都具备这个特点。”
玄惭在本次技术峰会上分享的是《云数据库超大流量峰值保障最佳实践》议题,该议题收集整理了自RDS成立至今,在历次大流量峰值中如何保障活动中云数据库备战的最佳实践,包括之前的改造,压测和扩容;期间的监控,预案执行和应急处理;之后的收容和总结。力求全链路地帮助客户安全稳定地渡过超大流量峰值,让在你备战过程中少走一些弯路,多一些从容。
这位经过四年双十一沉淀的阿里技术专家还表示,这个议题对开发、运维、DBA、架构师都具有非常好的参考指导意义,“当然如果你是一个公司的技术负责人,我也希望你能够学习。”