大促场景系统稳定性保障实践经验分享

每到双11,如何保障系统高峰扛得住、长期平稳是每个大促人必须面对的问题。在今年双11之前,阿里云在上海举办了一场线下交流,阿里大促和稳定性保障负责人、中间件专家、解决方案专家等将历年总结的大促经验分享给参会嘉宾,我们选取了其中的精彩内容整理如下。

image.png

一、互联网行业稳定性建设的观察与思考

第一位分享嘉宾是阿里云华东互联网团队的高级解决方案架构师江煵,他拥有十余年的软件开发经验,近些年一直从事云计算方向的开发和架构工作,主导过多个云平台、PaaS平台的开发建设,对于云和互联网架构方面有比较深入的理解和实践,目前关注于容器、中间件、Serverless等云原生的技术方向。

image.png

江煵在分享中提到,今年我们在新闻里听到了很多比较大的宕机事件,宕机的原因其实都很典型,删库跑路、被攻击、没有做好容量规划或者弹性能力不足、系统更改等。宕机后果还是比较严重,比如某SaaS服务商直接经济损失是两千多万,当天市值下跌10亿;某新能源车制造商网络中断事故当天市值下跌近数百亿美元。股价能涨回来,但对消费者的信心损害、对公司的品牌声誉的影响等这些很难在短时间内消除掉。

关于行业的稳定性建设现状,不少企业稳定性建设上欠的账还是很多的,一些偏小且偏传统的公司,可能都还没有高可用方面的准备。即使是中大型公司,在稳定性建设上还是存在短板。

image.png

稳定性建设相关的工作很难被看到、被认可或客观评判,不出事故确实有可能是运气,而即使是发生事故,也有可能因为稳定性做的很好且已经避免了十起其他重大事故。所以需要一些办法来为稳定性建设工作做一些定性甚至定量的评估,让这方面的工作有目标、过程可跟进、结果能检验,所以这方面我们做了一些探索和尝试。

这里我们提出了一个关于稳定性建设成熟度模型的设想,从11个维度,建议了两种稳定性建设成熟度评估方法:一种是雷达图模式,通过11个指标的打分,得出来一个整体分数;另一个是等级模式,每个指标维度根据建设的完善度给0~4分,我们希望所有的公司应该至少达到基础级以上,中大型公司能到发展级,行业头部公司能到成熟级水平。

当然这个成熟度模型本身还不是特别完善,现在提出来给大家参考和探讨,未来我们会持续优化,不光希望给大家合理的评估参考办法,更希望能对行业整体水位进行分析,让各家对自己的稳定性建设在行业内的水位有所了解,便于制定合理的目标。

image.png
image.png

再给大家快速的介绍一些稳定性建设的一些思路,稳定性工作的本质无外乎是发现风险和消除风险的过程,风险来自于本身系统和产品遗留的潜在风险、长期使用导致的系统腐坏风险、新功能发布和系统升级引入的风险、大促之类的活动带来的风险等,我们的稳定性工作就是让这些风险可控。

image.png

当然保障还有一大利器就是基于阿里云的稳定性建设体系,阿里云提供从资源到方法论全链路的稳定性产品和方案,我们有在行业内排名前列的客户,仅凭少量的SRE同学,就能基于阿里云的各种高可用能力,提供非常高效稳定完善的系统保障。

image.png

二、电商高可用架构演进和大促保障经验分享

第二位分享嘉宾是阿里巴巴高可用架构团队的高级技术专家中亭,他是多活容灾&故障演练团队负责人。2011年加入阿里,2015年担任双11负责人,目前负责阿里巴巴经济体高可用领域的保障及商业化产品的输出工作。

image.png

据中亭介绍,目前,高可用领域的技术产品通过两个云服务向外输出,分别是PTS(性能压测)和AHAS(应用高可用)。在阿里内部,准备一次双11是一个非常复杂的超级工程,如果业务特别复杂,可能涉及几十个甚至上百个横纵型项目。不过从围绕大促本身这个技术问题,需要解决的问题包括容量、架构、组织等。围绕这三个问题,中亭介绍了高可用技术的演进历史和技术选型,并给出了基于云的高可用解决方案:

1. 阿里全链路压测的完美复制
(1)通过压测基础环境改造获得线上生产环境的读写压测能力;

(2)积累压测基础数据和业务流量模型经验,后续可通过购买PTS资源包继续进行常态化全链路压测;

(3)对于重大活动可以方便地提前预演,提前准备和应对。

image.png

2. 流量防护
提供业务系统全方位可用性防护,从网关防护和应用防护两个层面、入口/应用/应用间/单机负载多维度,提升系统的高可用性,包括低成本接入,全方位防护,多语言版本支持,秒级防护能力。

image.png

3. 异地多活方案
多活解决方案=定制技术产品+咨询服务+生态伙伴。

image.png

  1. 故障演练
    混沌工程的专业技术和方案:遵循混沌工程实验原理并融合了阿里巴巴内部实践,提供了丰富故障场景实现,帮助分布式系统提升容错性和可恢复性。包括丰富演练库(基础资源、应用、云产品);场景化演练(强弱依赖、消息、数据库等);企业级实践(红蓝攻防、资损演练等)。

image.png

三、秒杀最佳实践和解决方案

第三位分享嘉宾是阿里云智能解决方案架构师鹿玄,他经历过大型分布式系统的开发和维护,并在云计算、云原生等领域有多年从业经验,对系统架构选型,问题排查和性能调优有着丰富的实战经验,致力于通过云原生架构转型来帮助阿里云各行业客户实现业务价值。

image.png

首先我们来看秒杀业务流程,流程比较简单,一般就是下订单减库存:

image.png

秒杀系统的设计原则包括以下几点:
1 . 热点识别
通过营销活动,卖家单独报名等方式,提前收集信息。

2 . 隔离原则
在前端页面、应用层、数据层做好隔离。

3 . 将请求尽量拦截在系统上游。

传统秒杀系统之所以挂,请求都压到了后端数据层,数据读写锁冲突严重,并发高响应慢,几乎所有请求都超时,流量虽大,下单成功的有效流量甚小,比如某种商品只有1000的库存,100w个人来买,实际上绝大部分的请求有效率为0。

4 . 读多写少的场景使用缓存

秒杀是一个典型的读多写少的应用场景,比如某种商品只有1000的库存,100w个人来买,最多1000个人下单成功,其他人都是查询库存,写比例只有0.1%,读比例占99.9%,非常适合使用缓存。

image.png

在秒杀场景中,从架构层面需要考虑的事情有以下几点:

1 . 库存缓存
image.png

Redis作为大促期间库存扣减的主要承担方。商品ID作为Redis的KEY,将可用库存=(总库存-暂扣库存)值作为Value。利用LUA脚本的事务特性实现在Redis中“读剩余库存后扣减”的逻辑

2 . 容量规划

使用阿里云性能测试工具PTS,模拟真实用户请求,验证全国用户真实业务操作对服务端性能、容量和系统稳定性的影响,确保重大活动平稳支撑。

3 . 性能调优

利用ARMS提供的立体式监控能力,在压测过程中实时监控应用及物理机各项指标,快速帮助开发人员定位排查问题,提升系统性能。

image.png

4 . 限流防刷

使用阿里云应用高可用服务(AHAS) 实现限流降级,确保系统不被预期外的突发流量打挂。同时可配置热点规则,超过一定量的阈值后,系统会让购买热点商品的流量排队等待。例如购买同一商品,1s内调用超过100次请求后,则其余请求进行等待

image.png

5 . 异步解耦,削峰填谷

消息队列 RocketMQ 版是阿里云基于 Apache RocketMQ 构建的低延迟、高并发、高可用、高可靠的分布式消息中间件。消息队列 RocketMQ 版既可为分布式应用系统提供异步解耦和削峰填谷的能力,同时也具备互联网应用所需的海量消息堆积、高吞吐、可靠重试等特性

image.png

6 . 弹性能力

对于有周期性促销活动的用户,可以使用Serverless 应用引擎(SAE)快速部署应用,利用定时弹性能力,在活动开始前自动扩容,在活动结束后自动缩容回收资源,实现资源利用最大化,且整个过程无需人工干预。

image.png

四、全链路压测最佳实践经验分享

第四位分享嘉宾是阿里云智能解决方案架构师计缘,拥有12年IT领域行业经验,在能源行业和互联网ToB行业完整经历和实践了SOA架构、微服务架构、云原生架构的转型过程 ,对互联网云原生架构以及微服务管理、治理、架构高可用优化有着深入理解,实战经验丰富,多次帮助阿里云的行业客户对系统架构完成全面的云原生改造。

image.png

据计缘介绍,大促活动、秒杀活动是最大化流量红利的不二选择,但是有很多企业依然享受不到流量红利,根本原因只有一个,那就是系统支撑不了大流量的冲击。主要问题是系统的性能问题大多由不可预知的问题导致。

整个系统从前到后环节非常多,任何一个环节都可能成为整个系统的瓶颈、短板、约束点。不同通讯协议,不同数据格式,不同规范,让整个分布式系统架构变得异常复杂。另外,微服务架构下服务调用链路南北向和东西向都非常长,单个服务一旦出问题很容易发生“多米诺骨牌”或“雪崩”效应。

image.png

现在大多数产品对于用户而言都是一个入口、一个App,但其实里面的内容是由多个产品线组合而成的,给客户呈现的是由非常多个零件协调组织运转起来的产品。但是实际中,负责不同模块、不同产品线的小组有自己的测试团队,他们只为某一个模块或产品线的质量负责,当这些模块组合起来后,会产生更多因为各种匹配、协作带来的问题,所谓不能窥一斑而知全豹。这些不确定的问题给我们产品的用户体验、品牌效应、产品收益带来巨大的挑战。

我们要解决根本的问题,就是要有方案和手段尽可能全的识别这些不确定的因素和问题。一个系统在整个运行的生命周期中无外乎两个场景,瞬时流量洪峰场景和长期稳态场景。
**
1 . 瞬时流量洪峰场景**

这个场景其实对应的就是大促活动、秒杀活动的场景,我们可以在生产环境上做全链路压测,最大限度的模拟用户的真实流量,不断施压摸高,找出系统的性能约束点进行优化;然后反复这个过程。在这个过程中有两个关键点,一是流量来源近似用户真实流量,二是在生产环境上做压测,这样等于我们制造出了真实的大促活动场景,来发现系统的不确定问题。

2 . 长期稳态场景

将全链路压测的方案固化,通过统一的控制台,周期性进行故障演练,对版本发布和配置变更后的质量兜底。所以通过流量洪峰场景来尽可能多的识别不确定因素,通过长期稳态场景常态化监测系统的不确定因素,然后分析解决不确定因素,达到对系统稳定性和高可用性的优化。

image.png

在施压方面,阿里云PTS产品基于全国边缘节点、CDN模拟各个地域、各个运营商发起流量,能在段时间内发起几十万流量,并且可以动态设置地域和运营商。在PTS的控制台提供了可视化的方式可以让客户很方便的创建业务场景,另外还集成了JMeter原生引擎,可以快捷的导入JMeter脚本,进行压测工具的无缝迁移。

在流量隔离方面,阿里云提供无侵入的Agent方式,在不需要对业务系统做代码改造的同时将流量隔离的能力搭载上去,通过在PTS流量管控控制台进行接口Mock规则配置、影子表规则配置、压测数据偏移量配置,来实现Agent对压测流量和压测数据的隔离。

image.png

总结

阿里巴巴目前已经实现全面云原生上云,并通过大规模使用包括容器服务ACK、消息队列RocketMQ、微服务 EDAS、监控ARMS、性能测试PTS等在内的云原生产品,获得成本、稳定性和研发运维效率提升的红利。与此同时,双11大促的业务场景也成为阿里云云原生技术与产品优势的锤炼场,为阿里云客户创造更大价值。

 

原文链接
本文为阿里云原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/514726.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

考拉海购全面云原生迁移之路

今年 8 月底,入驻“阿里动物园”一周年的考拉海购首次宣布战略升级,在现有的跨境业务基础上,将重点从以“货”为中心变成以“人”为中心,全面发力会员电商。 外界不知道的是,对考拉海购来说,不只是完成了业…

新零售:从上云到云原生 Serverless

作者 | 七凌来源 | 阿里巴巴中间件头图 | 付费下载于 IC Photo某零售商超行业的龙头企业,其主要业务涵盖购物中心、大卖场、综合超市、标准超市、精品超市、便利店及无人值守智慧商店等零售业态,涉及全渠道零售、仓储物流、餐饮、消费服务、数据服务、金…

企业双11业绩增长156% 、成交额突破151亿元...... 这背后是阿里云数据中台的场景赋能

红星美凯龙天猫数字化卖场累计成交金额突破151.52亿元;杜蕾斯全网销售额突破1.7亿元,天猫官方旗舰店销售额同比增长105%;滴露全网销售额突破1.8亿元,天猫官方旗舰店销售额同比增长156%;波司登首铺准确率提升79%…… 在…

Gartner:2020年全球IaaS公有云服务市场增长40.7%

编辑 | 宋 慧 供稿 | Gartner 头图 | 付费下载于视觉中国 根据全球信息技术研究和顾问公司Gartner的统计结果,2020年全球基础设施即服务(IaaS)市场达到643亿美元,相比2019年的457亿美元增长40.7%。2020年亚马逊仍在IaaS市场排名第…

jmeter+mysql+set_jmeter学习指南之操作 mysql 数据库

JMeter 通过 JDBC Connection Configuration 和 JDBC Request 可以连接数据库,并进行增删改查操作,支持各种常见的数据库,本文以最常用的 MySQL 数据库为例讲解,其它数据库的使用方法类似。一、下载驱动包在使用之前,需…

如何快速实现精准的个性化搜索服务

简介: 用户行为数据如何实时的应用在搜索服务中那? 怎样在1天内就可实现【精准的个性化搜索系统】搭建那? 今天小编将通过【阿里云开放搜索】中的三大“个性化搜索算法模型”给大家详细介绍,希望给予您更多解决思路~ 一、个性化排…

写代码时发现......还得是 SpringBoot !一篇拿下

关注了很多技术类公众号的读者肯定有这样一个感受,SpringBoot相关的文章铺天盖地,并且SpringBoot相关的文章阅读量、收藏量都很高,这也从侧面反映了SpringBoot技术的火爆。一切都在证明,SpringBoot已经成为了Java程序员必备的技能…

当 TiDB 与 Flink 相结合:高效、易用的实时数仓

简介: 利用实时数仓,企业可以实现实时 OLAP 分析、实时数据看板、实时业务监控、实时数据接口服务等用途。但想到实时数仓,很多人的第一印象就是架构复杂,难以操作与维护。而得益于新版 Flink 对 SQL 的支持,以及 TiDB…

云原生时代微服务的高可用架构设计

简介: 在8月20日“阿里巴巴技术质量精品课”上,来自蚂蚁的经国分享了对云原生时代微服务的高可用架构设计的全面解析,为大家介绍了应用架构演进路径、云原生时代的技术福利、高可用架构的设计原则以及经典案例的设计。 演讲嘉宾简介&#xf…

“精耕细作”桌面云市场的锐捷,重磅发布三擎云桌面

编辑 | 宋 慧 出品 | CSDN云计算 头图 | 付费下载于IC photo 在教育行业VDI与桌面云具有优势的锐捷,仍在不断扩充自身技术与产品方案的实力。 6月30日,锐捷正式对外发布新一代云桌面解决方案——锐捷三擎云桌面解决方案。会上针对三擎云桌面的终端云化…

Flink 1.11 与 Hive 批流一体数仓实践

导读:Flink 从 1.9.0 开始提供与 Hive 集成的功能,随着几个版本的迭代,在最新的 Flink 1.11 中,与 Hive 集成的功能进一步深化,并且开始尝试将流计算场景与Hive 进行整合。 本文主要分享在 Flink 1.11 中对接 Hive 的新…

双11还能创造什么新技术?

简介: 当下购物峰值不再是最大挑战,下一代技术创新将会出现在哪里? 诞生12年后,双11仍然续写答卷,也留下了问卷:当购物峰值不再是最大挑战,下一代技术创新,将会出现在哪里&#xff1…

于变局中开新局!《2021中国SaaS市场研究报告》报告发布

我国SaaS市场即将步入成熟需求,一起跟上! 中国市场数字化发展已经历了部门级信息化(2005年以前)、企业级信息化(2006-2015年)、产业级数字化(2016-2020年)三个阶段,在20…

4982亿背后的前端技术—2020天猫双11前端体系大揭秘

简介: 整体介绍一下淘系前端在今年双11的思考和沉淀。 今年双11的整体节奏从之前的“光棍节”变为“双节棍”,具体业务上也有很多变化和调整,应了阿里的土话“唯一不变的是变化”。面对这些变化,是挑战也是机会,我们要…

从应用开发角度认识 K8S

简介: 作者个人介绍 刘晨 Lorraine 坐标Fintech,精通持续集成与发布,曾具有全平台100应用持续部署持续发布实战经验,现在立志于成为K8S玩家。 云原生应用 我们正经历从单体应用转向分布式微服务架构应用的技术趋势。分布式微服务…

MySQL 十大常用字符串函数

作者 | 不剪发的Tony老师 责编 | 欧阳姝黎出品 | CSDN博客数据库函数是一种具有某种功能的模块,可以接收零个或多个输入值,并且返回一个输出值。MySQL 为我们提供了许多用于处理和分析数据的系统函数,本文给大家介绍 10 个常用的字符串…

海口只有阳光沙滩?错,人家还是“最佳智慧城市”

简介: 作为中国最南端的省份,海南一直都是全国人民的“后花园”,也是度假的最佳选择,住海景房远海潜水、直升机观光、乘帆船出海、吃海鲜大餐等花样繁多的旅游项目成就了海南的旅游TOP1地位,海南也被游客誉为“东方夏威…

让数据中台飞起来—— Quick BI性能优化解决方案及实践

Quick BI“数据门户”在企业数据中台建设中的重要性 企业在数据中台初步建设完成以后,怎样让客户直观感受到数据中台的价值?企业决策者、各部门管理人员、业务运营人员如何通过统一的窗口,快速看到数据中台提供的数据,并利用这些数…

到底要不要报考“通信工程”?

作者 | 小枣君来源 | 鲜枣课堂“通信工程”是干嘛的通信工程,英文全称叫做Communication Engineering,是一门重要的工学基础学科。根据教育部《学位授予和人才培养学科目录设置与管理办法》,“通信工程”属于二级学科,归属于“信息…

日均调用量超13亿次,阿里达摩院研发全球首个实时翻译直播

简介: 近几年来,直播电商到处开花,但绝大多数都是国内的中文直播。如果想买外国电商主播推荐的商品,语言不通怎么办?这一难题已被阿里巴巴(下称 “阿里”)攻克,阿里速卖通是面向全球…