弹性计算架构、容量性能数据库优化,让双11有惊无险-阿里云开发者社区

开发者社区> 场景研读> 正文

弹性计算架构、容量性能数据库优化,让双11有惊无险

简介: 9月23日由阿里云主办的第六期《电商大咖直播:备战双11最佳实践》线上分享圆满结束,来自袋鼠云的联合创始人CTO宁海元分享了天猫双11的技术保障,阿里云弹性计算的架构,袋鼠云进行容量规划、性能压测、数据库优化的经验。
+关注继续查看

全面赋能,双11电商解决方案上新,全新75折:https://www.aliyun.com/solution/ecommerce/act/huhang1111


9月23日由阿里云主办的第六期《电商大咖直播:备战双11最佳实践》线上分享圆满结束,来自袋鼠云的联合创始人CTO宁海元分享了天猫双11的技术保障,阿里云弹性计算的架构,袋鼠云进行容量规划、性能压测、数据库优化的经验。

本次视频直播的整理文章整理完毕,如下内容。


袋鼠云简介

袋鼠云由多名前阿里云资深技术专家创立,核心员工来自阿里巴巴、神州数码、数梦工场等,作为阿里云重要的合作伙伴,专注于为企业客户提供云计算和大数据技术服务及产品。袋鼠云是阿里云数加平台首个金牌合作伙伴,也是阿里云认证的区域服务商和云市场供应商。

天猫:“双十一”的技术保障

e3dfc3af07224046f14c1d8a176290a80a49c08e

天猫的技术保障分为三层:后勤保障、组织保障、系统保障,每个环节都是非常重要的。

97cb00f4c8a459b492f85ded5c35843f52a1156b

天猫的技术也经历了不断的演进。最初面对的最大问题是流量问题,CDN成为了第一个瓶颈,进行了CDN扩容。之后,逐渐经历了全链路压测、单元化、同城双活、异地多活、弹性混合云。在技术上,越来越游刃有余的支撑天猫的大促,同时也会把这些沉淀下来的技术变成产品给阿里云的客户提供服务。

阿里云:弹性计算与大促

9bc4710aaa8d573f7a8ea7ee21cc329c638f8775

弹性是云计算的最大优势,大促是最典型的弹性场景。从官网上看,阿里云包括四大产品线:云计算基础产品线、大数据产品线、云安全产品线、运维和虚拟组件产品线。经常用到的产品如上图所示,比较常见的有负载均衡、云服务器、云数据库等。比较少见的,比如性能测试PTS在做大促的时候是一个非常重要的工具,因为它可以通过分布式的压测工具去以最大的能力压测我们能达到的最大压力。在安全方面,DDos高防IP可以防几十G以上的流量的DDos攻击。当一台数据库达到上限的时候,分布式数据库DRDS可以使压力线性扩展。

2fb8ecbe6fdbe708844ff50ac1b4b3af168d520d

上图是阿里云弹性系统的一个典型架构。从用户的角度,他会把流量打到负载均衡上,通过DDos高防IP使得只有正常的流量可以进入负载均衡。在负载均衡后面后一个可以弹性伸缩的ECS应用服务器,其中要注意的一点是所有数据要设置成无状态。云数据库Redis版可以缓存一些不需要更新的数据,云数据库的RDS可以即开即用,如果压力过大时可以改为分布式数据库DRDS,同时可以做一些读写分离。

69525f45e182d0cdf7959d304ec1afb08f059b26

安全也是阿里云一个非常重要的能力。高防IP可以提供20G以上防护带宽,防DDos攻击、cc攻击、Web攻击,防网页篡改。

袋鼠云:大促活动护航服务

3a31bfad133f145916dba418d6415f24810a088a

前期架构改造时会做一些架构咨询。从早期的容量规划到性能压测、应用优化、数据库优化,再到扩容、应急预案准备、大促当天在线应急保障。

容量规划

d53f142e9e1bfb992f44b6523bd9c2a9a20ff70d

我们首先要看的是整个的业务目标,业务目标里面是否有一些特殊的场景,比如秒杀的场景。有了业务的目标之后,我们就能定出技术目标,比如QPS和TPS的目标,秒杀应该用什么样的方案,在线应该重点关注哪几个场景。

性能压测

2004a0c402f8224a814c0418550abf2aaca7c51f

确定了容量规划的指标之后,我们就可以做压测了。阿里云PTS是全球领先的SaaS性能测试平台,具有强大的分布式压测能力,可模拟海量用户真实的业务场景,让应用性能问题无所遁形。经过几次的压测之后,就会对上线之后的性能表现有了预估。

数据库优化

b189d21cf5a683d70c14f674d8a82aa567c9e19c

优化思路:数据库里80%的场景可能因为SQL语句写的不好,比如索引没有用上,表结构存在问题,所以应该对SQL进行优化。RDS是存在配置问题,所以应该对RDS进行配置升级。如果有数据分析的需求,最好在当天开一个只读识别,一个RDS可以开5个只读识别,进行读写分离保证主库的交易更加顺畅。垂直拆分和水平拆分在大促之前通过压力测试决定是否去做。

总结来说,大促会遇到以下几个常见问题:

  • 最典型的是容量预估不足,系统直接崩掉;
  • 临时出问题,临时改代码,结果出大问题;
  • 秒杀导致数据库挂,系统挂;
  • 缺乏应急方案,缺乏应急流程和具体的执行步骤;
  • 缺监控平台,缺实时的应用/数据库指标监控,不知道系统大促的整体情况;
  • 数据库是关键点,出问题需要快速决策和执行。

应急预案实例

fb0f639c9ed8f8a1112dabea00fb82939f50511d

在双11的的前一个月,需要把面对各种情况的预案写下来,发给相关的责任人。

客户案例

某社区电商大促

56f252b4771244fbeddc1f85d509d837ba15bed0

提前一周开始做紧张的压测,效果不错。

7:00:当天大促的活动慢慢开始,流量开始上涨。

9:00:第一波秒杀开始,出现大量connection timeout,连接数全部爆满,客服接到大量投诉电话,投诉秒杀是个骗局。系统表现上,应用压力非常高,数据库大量锁等待,数据库跑不动。

9:30:应用扩容,数据库优化。

10:00:第二波秒杀继续,数据库还是大量的锁等待,系统挂掉。

持续的修改代码,数据库优化,商品调整。。。

13:00:秒杀稳住了,系统平稳。

该案例中主要做了数据库优化、SQL的优化,扩容。

某跨境电商大促

2016年3月大促,蜂拥而来的流量造成系统宕机,每秒订单量到达峰值。袋鼠云进行了如下优化:云架构优化,帮助客户减少不必要的云资源支出,节省了大量成本;数据库SQL与索引优化,解决了宕机的根本性问题,轻松应对大促;重新设计的可扩展架构,确保在未来的业务增长过程中,技术不再成为瓶颈;数据库专家包年服务,7*24监控数据库性能状况,及时响应和优化,大大降低了客户的DBA运维成本,又确保了数据库的稳定。


相关系列文章:

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
自定义LOG投递OSS数据Partition,优化你的计算
数据划分Partition OSS数据存储具有高可靠、低成本等优点,是海量数据存储的最佳选择之一,尤其适用于半结构化的日志存储,并可以结合E-MapReduce(使用Hive、Impala等计算引擎)通过schema-on-read方式加载数据做查询分析。
3981 0
函数计算助力高德地图平稳支撑亿级流量高峰
2020 年的“十一出行节”期间,高德地图创造了记录 ——截止 2020 年 10 月 1 日 13 时 27 分 27 秒,高德地图当日活跃用户突破 1 亿,比 2019 年 10 月 1 日提前 3 时 41 分达成此记录。 期间,Serverless 作为其中一个核心技术场景,平稳扛住了流量高峰期的考验。值得一提的是,由 Serverless 支撑的业务在流量高峰期的表现十分优秀,每分钟函数调用量接近两百万次。这再次验证了 Serverless 基础技术的价值,进一步拓展了技术场景。
3195 0
+关注
场景研读
技术学习永无止境
476
文章
8
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载