写点什么

揭秘字节跳动内部流量调度与容灾实践【上】

  • 2025-01-22
    北京
  • 本文字数:3425 字

    阅读完需:约 11 分钟

大小:1.81M时长:10:32
揭秘字节跳动内部流量调度与容灾实践【上】

摘要:在字节跳动,平衡超大规模流量的稳定性、性能与成本,是一系列产品共同面临的挑战,其中, Trafficroute GTM 起到了不可忽视的作用。Trafficroute GTM 承载了字节跳动亿级流量、覆盖了大规模场景,是一款基于 DNS 的流量路由服务,我们将通过两期文章,揭秘字节跳动如何通过 Trafficroute GTM 巧妙应对以上挑战,实现高效流量管理!


本文为上期,主要介绍基于 TrafficRoute GTM 的 GEO-基础路由模式进行自定义流量编排,主要内容为:

  • TrafficRoute GTM 介绍

  • TrafficRoute GTM 的 GEO-基础路由模式的能力

  • 通过流量编排实现同城多活、多 CDN 调度、CDN 回源调度等经典架构及业务在稳定性、性能、成本等方面的收益


下期预告:下期我们将介绍 TrafficRoute GTM 的 Perf-智能路由模式,怎么通过它实现流量智能调度,敬请期待。


面临超大规模流量时,平衡好稳定性、性能、成本,能确保用户在访问服务时获得流畅、快速且可靠的体验,这对于提高用户满意度和粘性至关重要。TrafficRoute GTM 为业务提供基于 DNS 的全球流量负载均衡、智能调度、自动容灾服务,可以帮助业务提升连续性、实现资源优化、获取更多竞争优势。


1.火山引擎 Trafficroute GTM 简介


火山引擎 Trafficroute GTM 是基于 DNS 的流量路由服务。它依托全球 1100+分布式探测节点,构建出强大的网络质量感知能力,实现了对“端-边-云”全链路流量的质量感知,从而能根据 APP 应用的实时的访问质量、节点负载和健康状况作出动态的流量调度。


此外,Trafficroute GTM 还提供灵活的调度策略,其中 GEO-基础路由功能丰富,包括负载均衡、会话粘性和故障转移等多种特性。而 Perf-智能路由则在基础路由的基础上,进一步提供性能优先和负载反馈等智能调度能力,以满足更高层次的调度需求。


一图看懂 TrafficRoute GTM


在字节跳动内部业务中,通过对 Trafficroute GTM 能力的合理运用,落地了同城多活、多云混合等经典架构,也落地了边缘下沉,边缘计算 x 中心云等大规模分布式场景的最佳实践。


2.GEO-基础路由,实现流量自定义编排


TrafficRoute GTM 的 GEO-基础路由赋予用户灵活的流量管理能力,用户可根据具体业务需求,如负载均衡、就近接入、多活/灾备等,自定义路由调度策略,通过资源(地址池)编排、健康检查编排、路由(调度)规则编排等能力,打造个性化的流量调度与容灾解决方案。



2.1 地址资源编排:地址按需分类


资源是指流量访问的终点,包括公有云的 EIP 、CDN 的 CNAME 或边缘接入点等。TrafficRoute GTM 支持用户按照业务场景对资源(地址)进行自定义分类、组合和编排,编排形成的地址池可被路由规则引用,进而打造个性化的流量调度与容灾解决方案。



2.2 健康检查编排:全链路监测能力


健康检查是实现自动容灾的必要条件,TrafficRoute GTM 具备覆盖全球范围的 L3/L4/L7 健康检查功能,用户可以配置不同灵敏度的全链路监测能力,以此为自动容灾提供精准的决策支持,最终实现最快分钟级自动容灾。



2.3 路由规则编排:流量调度和容灾


通过精心配置 TrafficRoute GTM 的路由(调度)规则,可以精确控制流量的来源与去向,同时在发生故障时,确保流量能够按照预设的容灾方案进行故障转移。



3.字节跳动流量编排内部实践


在字节跳动内部业务中,通过 TrafficRoute GTM 的自定义流量编排实现了同城多活、异地灾备、全球多 CDN 调度、CDN 回源调度等经典架构,帮助内部业务:

  • 在稳定性上,将 MTTR 降低至分钟级,实现最快 1 分钟故障发现,3-5 分钟 90%+流量收敛(由于流量收敛时长受客户端分布、localDNS 行为、是否使用长连接等多种因素影响,3-5 分钟 90%+为参考值)

  • 在性能上,通过编排,将客户流量调度至各自访问体验最佳节点上,实现访问时延降低 15%+

  • 在成本上,通过编排,将流量优先调度至单位成本更低的资源上,实现带宽成本降低 10%+



3.1 同城多活,异地灾备,确保业务稳定与连续


在字节跳动业务中,同城多活与异地灾备架构是确保超大规模业务全天候稳定运行的核心策略之一。借助 GTM 的 GEO-基础路由模式,我们成功构建了 AZ 间流量负载均衡、 Region 间异地灾备、客户端 GEO&ISP 就近访问、分钟级自动容灾 4 大能力,以这 4 大能力为保障,实现了流量负载均衡、客户端就近接入、分钟级自动容灾等,确保了业务的稳定性和连续性。


同城多活 & 异地灾备


AZ 间流量负载均衡

通过编排路由规则的地址池权重,使得华北移动的客户端按照 60% vs 40%比例在 RegionA 的 AZ 之间实现了负载均衡。



同时,通过打开*会话粘性开关(TOB 版本待发布),使得特定的华北移动客户端始终访问同一个 EIP,实现会话保持功能。



Region 间异地灾备

通过编排路由规则的生效地址池集合 vs 其他地址池集合,实现了当 Region A 整体故障,流量切到 Region B,实现异地容灾能力。




客户端 GEO&ISP 就近访问

通过编排路由规则的线路 & 生效地址池集合,实现了根据客户端地理位置运营商来就近访问服务的能力,从而确保时延最低、性能最优、体验最佳。



分钟级自动容灾

通过编排健康检查规则,实现了最快 1 分钟故障感知 &容灾切换,3-5 分钟 90%+流量收敛的能力;且可感知全链路的故障,覆盖客户端->运营商网络->机房入口->后端服务。




以下是字节跳动内部自动容灾实践案例,某个面向企业级客户的边缘云与中心云混合部署业务,在凌晨 3 点 47 分遭遇了某机房故障,GTM 在 3 点 48 分迅速检测到这一故障,并自动启动了容灾机制。到了 4 点左右,中心机房已成功收敛了 90%的流量。随后,在 4 点 02 分,GTM 系统监测到故障已恢复,随即自动将流量回切至边缘机房。



更多关于 GTM【同城多活】【异地灾备】【两地三中心】等技术架构可参考往期分享:《火山引擎云调度GTM“同城容灾”与“异地多活”实践》


3.2 全球多 CDN 调度,始终选用“最优” 加速厂商


字节跳动的业务,会在全球应用包括火山引擎 CDN 在内的多家 CDN 厂商,来实现资源加速。然而,不同 CDN 厂商的服务能力存在差异,即便是同一厂商,在不同地区或不同时间段的表现也有所不同。因此,确保在全球各个地区始终选用“最优” CDN 厂商,成为了一项重要需求。


借助 TrafficRoute GTM 的流量编排,业务方能够根据不同区域的需求,灵活选择“资源覆盖更广”或“加速性能更好”的 CDN 厂商进行内容加速,同时可在多个厂商之间权衡成本效益(基于 P95 带宽计费)。同时, TrafficRoute GTM 确保了不同区域的流量能够“就近接入”选定的 CDN 厂商,以保障接入性能。在国内,针对不同运营商采用了定制化的路由策略,避免了 ISP 间的“跨网”问题,确保网络流畅。


为了应对流量管理中的潜在故障,每个流量部分都配置了多个地址池(即多个厂商),以实现故障时的自动流量切换。在故障探测方面, TrafficRoute GTM 采用了智能推荐的分布式综合探测方法,确保探测点与流量来源处于同一区域,减少误判风险,并具备分钟级的故障感知和流量迁移能力。


此外,故障转移(Failover)算法遵循“快速迁移,慢速恢复”的原则,结合历史流量质量监测和防抖动算法,以优化策略执行,确保服务的连续性和稳定性。



3.3 CDN 回源调度,保障源站可用性


字节跳动内部业务中,每时每刻都有超大规模的视频、图文、API 等流量经过 CDN/DSA 加速回到源站,因此源站的可用性至关重要。


为确保源站的可用性,我们通过 GTM 将源站接入点(一般是若干 EIP)封装成回源域名,回源域名被加载到 CDN 厂商的回源配置当中。由于回源域名由 GTM 托管,因此其具备了流量负载均衡、全链路健康检查、分钟级自动容灾等能力,保证了 CDN 厂商至源站这一回源链路的高可用性。这一容灾策略与 CDN 厂商回源机制本身包含的容灾策略相融合,可构建更加健壮的回源链路,进一步确保链路的高可用性。



在确保源站的可用性的过程中,通过 GTM 实现了两大能力,一是源站负载均衡,二是源站自动容灾。通过在 GTM 回源域名上配置源站的权重,可以实现将 CDN 回源流量在不同站点之间进行分配,保障了源站负载均衡;GTM 通过周期性 http 健康检查,实时感知源站运行状态,无论是部分节点异常还是源站整体故障,GTM 都能在 1 分钟内感知并完成容灾切换,实现了源站自动容灾。


以下是字节跳动内部 CDN 回源切流实践案例,通过 GTM 在 14 点 08 分将源站的 telecom 线路权重调整为 0,14 点 12 分左右源站 telecom 线路流量切空,14 点 42 分左右通过 GTM 复原源站的 telecom 线路权重,14 点 45 分左右源站 telecom 线路实现流量 100%收敛。



具体配置 GTM 落地 CDN 回源调度的流程,可点击文末【阅读原文】,跳转《通过 GTM 在 CDN 中实现自定义的负载均衡、健康检查和容灾切换》一文。


END


通过搭建同城多活、异地灾备;全球 CDN 调度;CDN 回源调度等经典架构,Trafficroute GTM 帮助字节跳动内部业务经受了超大规模流量考验,确保始终为用户提供稳定的服务。

2025-01-22 16:118497

评论 1 条评论

发布
用户头像
数据库也做了跨region的高可用吗?在跨region容灾切换的场景下,是如何保证数据库的数据实时同步的?RTO和RPO是多少?
2025-03-02 18:32 · 广东
回复
没有更多了

分布式事务:从基础概念到现代解决方案的全面解析

量贩潮汐·WholesaleTide

分布式

2025年低代码平台最新权威排行:原来是这几家厂商在领跑行业

优秀

低代码 低代码开发 低代码开发平台 低代码平台

Geekbench AI 命令行工具安装教程

柠檬与橘子

蚂蚁国际计划在香港和新加坡推出稳定币

TechubNews

DropDMG for Mac v3.6.9快速制作DMG文件的工具

晨光熹微

新闻速递丨Altair连续两年被 Gartner 魔力象限评为数据科学与机器学习平台领导者

Altair RapidMiner

机器学习 AI 数据分析 生成式AI RapidMiner

赛博威合同管理再进化:费用追踪无死角,核算精准零偏差,审批智能再提速!

赛博威科技

商品中心—商品生命周期和状态的技术文档

电子尖叫食人鱼

Java

深入研究:速卖通商品详情API接口详解

tbapi

速卖通API接口 速卖通商品详情API接口 速卖通详情数据接口

FonePaw iOS Transfer for Mac v6.5.0 iOS数据传输工具

晨光熹微

天润融通AI训练师推动AI员工从“可用”到“好用”

天润融通

商品中心—商品可采可补可售的技术文档

不在线第一只蜗牛

Java

Geekbench AI 命令行工具使用教程

柠檬与橘子

Deckset for Mac v2.0.39 创意优秀的幻灯片制作工具

晨光熹微

告别切屏|阿里云DMS MCP+通义灵码,30分钟搞定电商秒杀开发

阿里巴巴云原生

T-rex压测工具使用

天翼云开发者社区

网络

SRv6 验证实验

天翼云开发者社区

网络 SRv6

element ui table render-header自定义表头信息使用

柠檬与橘子

告别切屏|阿里云DMS MCP+通义灵码,30分钟搞定电商秒杀开发

阿里云云效

AI英语学习APP的应用场景

北京木奇移动技术有限公司

软件外包公司 AI英语学习 AI英语口语

从人工配置到AI自生成:低代码平台的复杂表单自动化实践(以JNPF为例)

电子尖叫食人鱼

低代码

GM ePub Reader Pro for Mac v2.8.6 ePub 阅读器 AI 电子书阅读神器

晨光熹微

Desktop Stickers for Mac v2.88 桌面便签

晨光熹微

分布式里套单机?YMatrix HTAP “神技”搞定 10w+ TPS

YMatrix 超融合数据库

HTAP HTAP 场景实践 YMatrix HTAP数据库 非平衡部署

“考公图都不会?”大模型真正的难题是:看图太难!

新消费日报

详解HarmonyOS NEXT系统中ArkTS和仓颉的混合开发

幽蓝计划

深度解析:爬虫技术获取淘宝商品详情并封装为API的全流程应用

Noah

Cisdem PDF Compressor for Mac v5.2.0 PDF文件压缩工具

晨光熹微

Ripple的 XRP分类账正推出代币化商业票据以进一步推动 RWA 发展

PowerVerse

揭秘字节跳动内部流量调度与容灾实践【上】_字节跳动_火山引擎_InfoQ精选文章