纯干货|聊一聊大促活动背后的技术:火山引擎边缘云CDN/DCDN/GA

news2024/9/23 15:24:39

12月12日,“抖音商城双12好物节”正式结束。据了解,双12期间,抖音电商推出了超值购、秒杀等多个优价频道和多个类目的主题榜单,让有消费需求的用户更高效地发现高性价比好物。除了货架场景,“抖音商城双12好物节”还发力重点达人直播间、好物直播间等内容场域,通过电商优质内容为商家和达人创造生意增量。

图片

“抖音商城双12好物节”的背后是大流量、高并发对基础技术提出的挑战,保障大促期间平台的平稳运行、用户流畅的购物体验尤为重要。在经受了双十一海量流量考验的基础上,火山引擎CDN/DCDN和GA作为抖音静态/动态/长连接业务流量入口,保障了大促期间抖音电商平台的平稳运行。

下图为抖音客户端视频业务/动态接口/长连接业务主要流量架构图,客户请求通过火山引擎内容分发网络(CDN)、全站加速(DCDN)、全球加速(GA)回源到中心网关,转发到对应的业务服务。

图片

01

技术架构

火山引擎CDN/DCDN和GA利用丰富的网络资源,依托边缘云全球网络(含到主要地区的合规专线)降低网络抖动、时延和丢包,显著提升传输效率,结合自研的传输优化、智能缓存、动态路由、安全防护等能力,为用户提供安全、稳定的一站式加速服务,提升用户访问体验。

  • 火山引擎内容分发网络产品 CDN (Content Delivery Network)提供稳定、弹性、高性能的全球内容分发服务。

  • 火山引擎全站加速产品 DCDN (Dynamic Content Delivery Network) 是一款在 CDN 静态内容加速服务的基础上,提供纯动态及动静态混合内容加速的服务。

  • 火山引擎全球加速产品 GA(Global Accelerator)是一款实现全球范围网络就近接入和跨地域部署的四层网络加速服务。

图片

火山引擎CDN/DCDN/GA资源分布

火山引擎CDN/DCDN/GA通过抖音集团业务和规模化ToB业务的打磨,已经形成了一套完备且具备规模商业化能力的系统。

  • 资源分布:全球2500+加速节点,国内实现三大运营商本省覆盖,海外覆盖了主要国家和地区;

  • 丰富协议:支持HTTP(S)、QUIC、WebSocket、TCP、UDP协议接入;

  • 智能调度:保证客户就近接入,实现大规模QPS的全网调度;

  • 智能路由:自研智能路由系统,保证请求最优路径回源,提升用户体验;

  • 传输优化:通过协议优化、回源预建连、公网路由择优等策略,提升动态API、上传、下载等各个场景的传输速度;

  • 安全防护:支持大容量的 DDoS 防护、CC 防护、Web 漏洞防护,全链路 HTTPS (支持国密协议),确保数据传输安全;

  • 稳定性:通过大规模QPS的验证,稳定性经过充分验证,经历了抖音春晚红包、抖音世界杯直播、抖音电商双十一等大型活动考验。

图片

火山引擎CDN/DCDN/GA网络拓扑

02

解决方案

火山引擎CDN/DCDN/GA作为抖音业务动静态流量入口,在双12期间,不仅要承载常态流量,还需要应对大促带来的洪峰流量冲击,这对火山引擎CDN/DCDN/GA的容量、调度能力、容灾能力都提出了更高的要求。对此,本文从5个方面介绍应对双12突发流量时火山引擎CDN/DCDN/GA提供的解决方案。

动态扩容

为了解决大促高峰时间段的资源不足问题,火山引擎CDN/DCDN/GA采用动态扩容技术。双12带来的流量是脉冲式流量,持续时间短,峰值高。虽然火山引擎CDN/DCDN/GA常态下会保留一定的流量冗余,但依然无法应对大促带来的突发流量。如果想要通过短时间内完成大量边缘节点扩容来解决这一问题,不仅操作难度极大,而且仅为活动进行大规模扩容,也会造成资源浪费。因此,如何动态扩容以应对短时间洪峰流量,是火山引擎CDN/DCDN/GA产品在双12遇到的主要挑战之一。

火山引擎CDN/DCDN/GA使用火山引擎边缘云统一技术底座,主要流量运行在边缘云容器/虚拟机上。因此可以在活动正式开始前,充分利用边缘容器平台的弹性能力,快速创建出一批新资源,完成资源动态扩容,满足活动期间的容量需求。在活动结束后,将扩容资源释放,实现整体容量的快速扩缩。

流量调度

为了应对突发流量,火山引擎CDN/DCDN/GA引入“活动”流量模型。常态下,火山引擎CDN/DCDN/GA会根据业务实时以及最近几天的QPS/带宽/连接数进行调度,但面对双12带来的突发流量,这种调度模式显然无法适应。

为解决这个问题,火山引擎引入了“活动”流量模型。假设活动期间各个地区的流量分布与常态流量一致,根据业务预估的总QPS/带宽/连接数,按比例分配到不同地区。在进行调度时,将预估的活动流量一并纳入考虑,因此调度后的节点能够承载活动突发流量。同时会根据前一天的流量值修正下一次活动流量模型。

图片

引入“活动”的流量模型

自保能力

为了应对容量风险,火山引擎CDN/DCDN/GA具备熔断能力实现自保。资源和调度已具备应对预估峰值的能力,但业务预估流量跟真实流量很可能存在偏差。如果业务预估比真实流量低,突发流量很有可能超出CDN/DCDN/GA服务上限,当出现短时间的可用性降低、请求耗时增加后,会触发客户端不断重试,进一步加剧服务压力,极有可能造成线上整体的雪崩,影响产品请求。

因此,为了应对极端场景的风险,CDN/DCDN/GA需具备熔断能力,当请求量达到一定阈值后,通过熔断降低系统压力,保证线上主要业务流量的稳定性。

活动期间,主要有以下容量风险:

  • CPU资源风险:大量客户端冷启,新建连接(CPS)突增,抖音支持全链路HTTPs,因此冷启客户端会进行大量的SSL握手,消耗DCDN节点大量CPU资源;

  • QPS突增风险:电商API接口请求量(QPS)突增,超过CDN/DCDN/GA处理能力上限,造成服务崩溃;

  • 请求堆积风险:随着QPS突增,活动业务后端服务压力增加,响应耗时变大,造成大量请求堆积,拖垮CDN/DCDN/GA和业务服务。

为了应对上述风险,火山引擎CDN/DCDN/GA产品引入多维度熔断能力:

  • CPS熔断能力:针对最耗费CPU的SSL握手,支持针对单域名和全局SSL握手限流能力,当单个域名的SSL流量超出阈值后,将拒绝新SSL请求,避免打爆CPU;

  • QPS熔断能力:当活动域名的QPS超过设定阈值后,拒掉新请求,避免过多请求回源,保护自身和源站服务;

  • 回源熔断能力:当单个域名同时回源的请求达到一定阈值后,新的回源请求会在CDN/DCDN/GA直接熔断,响应异常码,避免业务服务响应变慢后,请求堆积拖垮业务后端服务。

上述熔断能力,均支持单域名和全局粒度。

  • 单域名熔断主要针对活动域名配置,避免活动域名突增影响全局流量。

  • 全局熔断能力:主要是保护DCDN服务,当超过DCDN服务能力上限后,熔断一部分流量,保证大部分流量可正常服务。

流量压测

具备资源、调度、熔断能力后,还需要在活动之前对上述功能进行验证。对此,火山引擎CDN/DCDN/GA与抖音客户端合作,进行全链路压测,利用真实的客户端请求,模拟活动期间洪峰,验证全链路的处理能力。

图片

流量压测曲线

加速性能

性能接入是加速产品最重要的衡量指标之一。如何更好的提升性能,也是火山引擎CDN/DCDN/GA产品持续探索的方向,经过多年的打磨,沉淀了经验,以下是火山引擎CDN/DCDN/GA产品在性能优化方面的主要策略。

智能调度

移动端用户通过4G/5G/WIFI无线网络访问源站应用,信号不稳定,如果直连源站,RTT较长,按照主流的基于ACK反馈或超时来判断丢包的拥塞控制算法,需要很长时间才能感知到丢包,再进行重传,导致时延非常大,如果通过更近的接入点上车,移动端和节点之间RTT更短,就可以更快感知到丢包,更快进行重传,降低时延。

火山引擎CDN/DCDN/GA自研的智能调度算法会基于用户分布情况,动态实时计算出接入质量更优的节点,例如在某城市,会根据用户分布的集中度,选择离大多数用户更近的接入点上传,相比传统的DNS调度能更好的实现就近接入,提升用户体验。

智能路由

广域网网路存在复杂的运营商和地域限制策略,经常出现绕路、限速等情况。针对此问题,火山引擎自研的智能选路系统可在复杂的广域网中实时选择最优路径回源,保障业务的最佳体验。智能路由解决的是多目标路径规划问题,需要兼顾性能、容量等,重点是归一化目标函数设计。火山引擎CDN/DCDN/GA综合考虑了链路质量、节点水位、亲缘性等目标,同时根据不同的业务场景(API、上传、下载等)采用不同权重值,保证各种业务场景按照最佳链路回源。

图片

传输优化

  • 协议栈优化:回源链路采用火山引擎自研的TTCP协议栈,TTCP具备内核插件化能力,已在火山引擎CDN/DCDN/GA全网部署,支持域名粒度控制,可根据业务场景(API、上传、下载)实现精准化的参数控制和自适应拥塞控制算法,保证最佳的访问体验。同时TTCP实现了平台化的管理,利用采集现网数据通过大数据实时分析决策动态的调整系统参数和拥塞控制算法,提升访问体验。

  • 连接优化:火山引擎CDN/DCDN/GA产品为提升访问性能、降低中心服务的压力,采取了“预建连”优化手段。节点在没有真实请求时,主动与源站建立一批连接,维护在连接池内,当突发业务请求到达,回源时可直接复用连接,提高访问性能。通过抖音集团内部业务测试显示,采用预连接策略后,首包时间耗时从115ms 降低到54ms,降低了53%以上,效果明显。

图片

图片

03

应用案例

火山引擎DCDN承载了双十一期间抖音业务主要API流量,在双十一的洪峰挑战中保证了用户最佳购物体验,性能、稳定性得到了充分验证。通过客户端监测数据,火山引擎DCDN活动期间服务稳定,且加速性能达到行业领先水平。

1. 抖音短视频:抖音短视频核心Feed流API请求通过开启QUIC协议,采用智能路由、预建连等优化策略,网络耗时均值降低7%以上,长尾耗时降低17%以上,人均播放时长等核心业务收益显著正向。

图片

2. 抖音电商:结合边缘高防调度以及边缘WAF能力,解决API防护、 DDoS 和 CC 攻击、保护内容不被恶意爬取、劫持、篡改等,通过自研的传输优化、智能缓存、动态路由等技术提供了纯动态及动静态混合内容的加速服务,为用户提供更优质的访问体验。

图片

04

展望未来

火山引擎CDN/DCDN/GA自上线以来,通过字节内部大规模QPS、亿级并发连接数的验证,经历了双十一、春节活动、世界杯等大型活动考验,经过多年的打磨,性能、稳定性达到业内领先水平,沉淀了典型应用场景的加速解决方案。火山引擎DCDN和GA先后于2021年和2022年正式ToB,把服务抖音业务的技术积累提供给更多的外部客户。

下一步,火山引擎CDN/DCDN/GA会继续进行深度优化,持续降低访问时延,比如在加速网络内部使用基于UDP的私有协议,针对动态API、上传、下载场景使用更加自助可控的丢包检测和拥塞控制算法,另外结合端上的能力,针对时延敏感性业务,比如游戏场景联动火山引擎游戏加速解决方案GNA支持全链路的加速能力,开启FEC、双通道、网络检测能力等,为用户提供极致性价比的加速服务。

关于火山引擎边缘云:

火山引擎边缘云,以云原生技术为基础底座,融合异构算力和边缘网络,构建在大规模边缘基础设施之上的云计算服务,形成以边缘位置的计算、网络、存储、安全、智能为核心能力的新一代分布式云计算解决方案。

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

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

相关文章

基于ssm校园资讯推荐系统论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本校园资讯推荐系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息…

31、应急响应——Windows

文章目录 一、账户排查1.1 登录服务器的途径1.2 弱口令1.3 可疑账号 二、网络排查三、进程排查四、注册表排查五、内存分析 一、账户排查 1.1 登录服务器的途径 3389smb 445httpftp数据库中间件 1.2 弱口令 弱口令途径:3389、smb 445、http、ftp、数据库、中间件…

C# 如何控制多线程同步执行

写在前面 使用Task类来控制多线程的同步执行,可应用于多任务分发执行后,再做归并处理。Tas既拥有线程池的优点,同时也解决了使用ThreadPool不易控制的弊端;可以非常简便并可靠地实现多线程的顺序执行。 代码实现 public class …

Qt 文字描边(基础篇)

项目中有时需要文字描边的功能 1.基础的绘制文字 使用drawtext处理 void MainWindow::paintEvent(QPaintEvent *event) {QPainter painter(this);painter.setRenderHint(QPainter::Antialiasing, true);painter.setRenderHint(QPainter::SmoothPixmapTransform, true);painte…

宏基因组学中如何计算分箱结果bins(基因组)的丰度?

1、基于metawrap环境计算bin丰度(推荐) MetaWRAp(Metagenomic Workflow for Assembly, binning, and annotation)是一个用于处理宏基因组学数据的工具,包括元组装、分箱(binning)、基因组注释等功能。要基于 MetaWRAp …

Python:五种算法RFO、GWO、DBO、HHO、SSA求解23个测试函数

一、五种算法介绍 (1)红狐优化算法(Red fox optimization,RFO) (2)灰狼优化算法(Grey Wolf Optimizer,GWO) (3)蜣螂优化算法(Dung beetle opti…

maui 开发音乐播放APP 优化 用fastapi_amis_admin创建后台及接口(5)

相关的models from datetime import datetime from typing import List, Optional import sqlmodel from fastapi_amis_admin.amis.components import ColumnImage, InputImage, InputRichText from fastapi_amis_admin.models.enums import IntegerChoices from fastapi_amis…

VSCode 配置自动生成头文件

相关文章 VSCode 开发C/C实用插件分享——codegeex VSCode 开发C/C实用插件分享——koroFileHeader VSCode 配置自动生成头文件 一、snippets二、配置步骤三、效果展示 一、snippets 相信大家对C、C都头文件都不陌生,都会发现每个头文件都会包括下面的这些格式&…

引迈信息-JNPF平台怎么样?值得入手吗?

目录 1.前言 2.引迈低代码怎么样? 3.平台亮点展示 4.引迈产品特点 5.引迈产品技术栈: 1.前言 低代码是近几年比较火的一种应用程序快速开发方式,它能帮助用户在开发软件的过程中大幅减少手工编码量,并通过可视化组件加速应用…

【基于卷积神经网络的疲劳检测与预警系统的设计与实现】

基于卷积神经网络的疲劳检测与预警系统的设计与实现 引言数据集介绍技术与工具1. OpenCV2. TensorFlow3. 卷积神经网络(CNN) 系统功能模块1. 视频采集模块2. 图像预处理模块3. 人脸识别模块4. 疲劳程度判别模块5. 报警模块 系统设计创新点1. 实时监测与预…

GAN的原理分析与实例

为了便于理解,可以先玩一玩这个网站:GAN Lab: Play with Generative Adversarial Networks in Your Browser! GAN的本质:枯叶蝶和鸟。生成器的目标:让枯叶蝶进化,变得像枯叶,不被鸟准确识别。判别器的目标&…

Spring Boot之自定义starter

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于Spring Boot的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一. starter是什么 二.为什么要使…

什么是 API 代理?

API 代理就像您的计算机和互联网上的特殊服务之间的有用中间人。这有点像将翻译、保安和信使合而为一。 什么是 API 代理? API 代理就像您和在线服务之间的有用中间人。当您的计算机需要从特殊在线服务(API)获取某些内容时,API 代…

计算机网络:物理层(奈氏准则和香农定理,含例题)

带你速通计算机网络期末 文章目录 一、码元和带宽 1、什么是码元 2、数字通信系统数据传输速率的两种表示方法 2.1、码元传输速率 2.2、信息传输速率 3、例题 3.1、例题1 3.2、例题2 4、带宽 二、奈氏准则(奈奎斯特定理) 1、奈氏准则简介 2、…

leetcode做题笔记2132. 用邮票贴满网格图

给你一个 m x n 的二进制矩阵 grid ,每个格子要么为 0 (空)要么为 1 (被占据)。 给你邮票的尺寸为 stampHeight x stampWidth 。我们想将邮票贴进二进制矩阵中,且满足以下 限制 和 要求 : 覆盖…

VUE中如果让全局组件在某一页面不显示

目录 前言 方法一 1.在全局组件中添加一个变量用于控制显示与隐藏。 2.在全局组件的模板中使用 v-if 条件来决定是否显示该组件 3.在不需要显示全局组件的页面中,修改 showGlobalComponent 变量的值为 false,以隐藏全局组件。 4.在需要隐藏全局组…

dockerfile---创建镜像

dockerfile创建镜像:创建自定义镜像。 包扩配置文件的创建,挂载点,对外暴露的端口。设置环境变量。 docker镜像的方式: 1、基于官方源进行创建 根据官方提供的镜像源,创建镜像,然后拉起容器。是一个白板&#xff0c…

国产猫粮推荐排行榜有哪些牌子?国产主食冻干猫粮品牌十大排行

近年来,冻干猫粮作为热门的高品质猫粮,受到了许多追求纯天然、健康食品的铲屎官的关注。萌新铲屎官就很疑惑了冻干猫粮可以代替猫粮作为主食吗?冻干猫粮真就那么好吗? 作为一个猫咖店长,这几年我至少给猫挑选了20几款…

智能故障诊断期刊推荐【中文期刊】

控制与决策 http://kzyjc.alljournals.cn/kzyjc/home 兵工学报 http://www.co-journal.com/CN/1000-1093/home.shtml 计算机集成制造系统 http://jsjjc.soripan.net/ 机械工程学报 http://www.cjmenet.com.cn/CN/0577-6686/home.shtml 太阳能学报 https://www.tynxb.org.c…

Windows ❀ 关闭Google的自动更新功能

文章目录 1. 故障问题2. 解决方法 1. 故障问题 如何关闭掉Google的自动更新功能? 2. 解决方法 修改更新域名本地hosts为环回地址即可。 # 禁止google自动更新 127.0.0.1 update.googleapis.com备注: mac路径:/etc/hostswindows路径&…