大促下的智能运维挑战:阿里如何抗住“双11猫晚”?


作者 | 阿里文娱技术专家子霖

出品 | AI科技大本营(ID:rgznai100)

2019 双 11 猫晚在全球近 190 个国家和地区播出,海外重保是首要任务,如何提升海外用户观看猫晚的体验?本文将详解双 11 猫晚国际化的技术挑战和技术策略。

播前成功率改进

1. 海外主站链路优化

计算猫晚海外 CDN 带宽用量,明确海外直播 CDN 资源分布及其调度回源链路,结合现有 直播赛事,分析海外各地域国家直播卡顿率,重点分析卡顿率高的地域。对比访问主站各地域国家 TCP 建连时间,调整主站 TCP 建连时间。

2. 直播服务单元化

1)为什么要做单元化

用户体验及资源瓶颈:随着业务体量和服务用户群体的增长,用户需要更优的访问速度,
单机房无法支持长期的服务的持续扩容;

服务异地容灾:异地容灾已经成为核心服务的标配,有些服务虽然进行了多地多机房部署, 但数据还是只在中心机房。要实现真正意义上的异地多活,就需要对服务进行单元化改造;

全球化战略:全球化战略带来的不只是用户增长,同时数据也会快速增长,全球数据都集 中部署在少数几个机房显然不太现实,基于地理区域划分、数据维度驱动的单元化架构是未来 全球化战略的一个技术方案储备。

2)单元化收益

一是容灾:多地域容灾。任何一个城市异常,核心交易下单行为能够在秒级内全部恢复, 非核心行为在 2 小时内恢复;中心有全量的数据,单元的数据写入后会同步到中心;若单元故 障,单元提供的交易流量会切换到中心;如果是中心故障,中心会切换到中心备份环境;

二是扩展性:单元化后,系统扩展不受机房的部署和资源限制,可在不同地域选址横向扩
展来满足系统日益增长的需求;在多地部署应用后,按照就近接入原则:用户请求落到离它最
近的站点,提升用户体验;

三是稳定性:单元快速部署和验证,可在一个空的单元引流来验证功能,降低系统风险; 可以对一个空站点做全链路压测,能快速得到站点容量;

四是成本:减少系统对机房部署的强依赖,提供更大的灵活性;能够将单元的规模,所需 的资源信息确定下来,用环境的标准化快速部署来节省成本。

3. 部署压测兜底演练

在直播单元压测完成,扩容完成后,进入直播链路专项压测阶段。在这个阶段,对存在性 能风险的场景和链路进行放大流量的集群层面的压力探测,对集群层面的指标 CPU(avg/max)、Load(avg/max)、RT(avg/max)等进行监控,并对直播入口首页播放页兜底压测,力求发现系统潜 在风险。2019 年优酷 Java 应用测试团队梳理出多个存在性能风险的链路和场景,进行了专项压 测保证。单链路专项压测的压测方式不尽相同,这一部分是最灵活和最有效的性能与稳定性筛 查。

4. 成功率验证

多场次直播拉取数据对比验证各场次播前成功率是否符合预期,分析不符合预期的国家进 行相应的回源调度调整。双 11 当天整体表现稳定,接入层和各上云应用 OPS、成功率、RT 均 符合预期。

卡顿率改进

1. 开启智能档

今年的双 11 天猫晚会,优酷 APP 上清晰度列表中有了智能清晰度。智能清晰度是什么, 简单来讲,就是自动调整实际播放的清晰度,而调整的依据就是用户当前的 IP,网络状态等信 息,结合用户所处网络环境为用户选择合适的清晰度,减少卡顿,并提升播放体验。智能档, 也就是码率自适应,优酷在点播场景下已经用了起来且相对较成熟,而今年的双 11,我们将其 应用在直播的场景下,进一步提升用户的播放体验。猫晚海外各端默认全开智能档。目前优酷 的码率自适应实现,基于主流的 HLS 协议,进行分片级别的切档。

2. 直播链路优化

优化了协议栈,客户端播放使用 HLS 协议,开启 TS 预热。CDN 边缘节点调度优化,边缘节点回源按地域国家统一调度到指定的二级回源节点。

3. L2 节点优化

L2 节点回源站,优先走高速通道。高速通道故障后,切到备用链路。其中东南亚国家 L2回源链路由公网回源切到了香港 L2 高速通道回源。保障了直播回源链路的稳定。

4. 卡顿率验证

通过开启智能档,调整边缘节点的调度以及 L2 回直播源站的链路。通过多场次直播验证, 整个播放卡顿率比预期得到极大的改善。

资源成本效能

通过建站平台完成海外直播单元一键建站,单机压测平台输出单机能力,从而评估出应用 扩容所需资源。将所有扩容应用输入平台,一键完成应用扩容。切流平台保障单元间容灾时平 滑切换。这么复杂的直播链路,通过智能业务链路,对上千个接口进行自动监测、梳理以及容 量的自动评估。其节点部署及交付是小时级别,从成本、用户体验上领跑行业,让海外播放页 面及互动游戏体验和国内一致。

有了上述对关键点的梳理,那么一套服务于大促资源全生命周期保障的平台系统 就应运而 生。确定目标如下:

1)资源需求:需求收集-单机能力评估-历史活动数据对比-工单生成-批量扩容执行-压测调 整-结束资源回收,全链路 100%平台化流程化;

2)单机压测:单机压测能力覆盖所有大促应用,实时提供最精准的能力数据;3)业务巡检:资源健康度巡检,低水位低利用率低 OPS 应用数据输出,自动资源回收,提升资源利用率。

1. 一键扩缩容

非核心应用资源动态支援能力,10 分钟 1000 台回收交付能力; 整体能力分为两个大类:资源需求线和资源保障线。

2. 总体流程

明确需求收集范围->改进需求收集方法->实现单机能力自动获取->实现历史容量数据自动 获取->应用上下游依赖链路自动获取-> [业务目标->技术目标转换]->完成资源需求评估。实现需 求上报渠道能力,单机实时压测能力,目标转化能力,上下游链路及流量平衡自动评估能力。

3. 资源保障总体流程

建设整体资源容量盘点能力->建设应用级别线上水位巡检能力->优化资源快速交付/调整能 力->建设非核心应用应急容量挪用能力 ->快速回收资源 ->完成闭环的生命周期,实现高效交 付,强化资源盘点及 buffer 保障的能力。

重保预案及措施

1. 主站重报预案及措施接入层水位高:水位达到预定阀值执行自动扩容。不需要人工干涉; 用户超预期:降低码率,执行限流; 单机房出口故障:平台自动执行切流,切到正常的机房; 单元公网出口故障:切流平台执行切流,切到正常单元。

2. CDN 重保预案及措施预案执行演练、兜底策略执行演练、大盘实时监控、快速故障处理应急小组。

项目总结

每次参加双 11 战役,都收获颇丰。精准的计算资源用量、技术方案评审到落地,都要经过多次反复验证,通过每年的双 11 技术沉淀到平台,大大减轻了人力成本。

单机压测平台提供单机的能力从而计算出集群的水位,建站平台提供主站及单元部署的一键建站;扩容平台提供大 促一键扩容及一键缩容能力,切流平台提供机房容灾切换能力,运维机器人提供各监控项的快速查看;资源成本平台提供大促成本能力。后面平台优化的地方还很多,从主站到 CDN 实现全链路无缝对接,借助双 11 充分发挥平台优势。

【END】

今日福利

遇见陆奇

同样作为“百万人学 AI”的重要组成部分,2020 AIProCon 开发者万人大会将于 7 月 3 日至 4 日通过线上直播形式,让开发者们一站式学习了解当下 AI 的前沿技术研究、核心技术与应用以及企业案例的实践经验,同时还可以在线参加精彩多样的开发者沙龙与编程项目。参与前瞻系列活动、在线直播互动,不仅可以与上万名开发者们一起交流,还有机会赢取直播专属好礼,与技术大咖连麦。

门票限量大放送!今日起点击阅读原文报名「2020 AI开发者万人大会」,使用优惠码“AIP211”,即可免费获得价值299元的大会在线直播门票一张。限量100张,先到先得!快来动动手指,免费获取入会资格吧!

点击阅读原文,直达大会官网。

      你点的每个“在看”,我都认真当成了AI

展开阅读全文

Git 实用技巧

11-24
这几年越来越多的开发团队使用了Git,掌握Git的使用已经越来越重要,已经是一个开发者必备的一项技能;但很多人在刚开始学习Git的时候会遇到很多疑问,比如之前使用过SVN的开发者想不通Git提交代码为什么需要先commit然后再去push,而不是一条命令一次性搞定; 更多的开发者对Git已经入门,不过在遇到一些代码冲突、需要恢复Git代码时候就不知所措,这个时候哪些对 Git掌握得比较好的少数人,就像团队中的神一样,在队友遇到 Git 相关的问题的时候用各种流利的操作来帮助队友于水火。 我去年刚加入新团队,发现一些同事对Git的常规操作没太大问题,但对Git的理解还是比较生疏,比如说分支和分支之间的关联关系、合并代码时候的冲突解决、提交代码前未拉取新代码导致冲突问题的处理等,我在协助处理这些问题的时候也记录各种问题的解决办法,希望整理后通过教程帮助到更多对Git操作进阶的开发者。 本期教程学习方法分为“掌握基础——稳步进阶——熟悉协作”三个层次。从掌握基础的 Git的推送和拉取开始,以案例进行演示,分析每一个步骤的操作方式和原理,从理解Git 工具的操作到学会代码存储结构、演示不同场景下Git遇到问题的不同处理方案。循序渐进让同学们掌握Git工具在团队协作中的整体协作流程。 在教程中会通过大量案例进行分析,案例会模拟在工作中遇到的问题,从最基础的代码提交和拉取、代码冲突解决、代码仓库的数据维护、Git服务端搭建等。为了让同学们容易理解,对Git简单易懂,文章中详细记录了详细的操作步骤,提供大量演示截图和解析。在教程的最后部分,会从提升团队整体效率的角度对Git工具进行讲解,包括规范操作、Gitlab的搭建、钩子事件的应用等。 为了让同学们可以利用碎片化时间来灵活学习,在教程文章中大程度降低了上下文的依赖,让大家可以在工作之余进行学习与实战,并同时掌握里面涉及的Git不常见操作的相关知识,理解Git工具在工作遇到的问题解决思路和方法,相信一定会对大家的前端技能进阶大有帮助。
©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值