写点什么

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

  • 2025-07-14
    北京
  • 本文字数:3642 字

    阅读完需:约 12 分钟

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

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


上期内容中,我们主要介绍了基于 TrafficRoute GTM 的 GEO-基础路由模式进行自定义流量编排,感兴趣的小伙伴可以点击了解:揭秘字节跳动内部流量调度与容灾实践【上】》。


本文为下期,主要介绍基于 TrafficRoute GTM 的 Perf-智能路由模式落地全智能、可观测、可微调的流量调度,主要内容包括:

  1. TrafficRoute GTM 介绍

  2. TrafficRoute GTM 的 Perf-智能路由关键技术

  3. 字节跳动智能流量调度内部实践


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


1.火山引擎 Trafficroute GTM 简介


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


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


一图看懂 TrafficRoute GTM


在字节跳动内部业务中,诸多业务基于 TrafficRoute GTM 的 Perf-智能路由,借助 GTM 的全球网络质量地图、APP 全链路可用性、APP 实时负载等感知能力落地了全智能、可观测、可微调的流量调度。


2.Perf-智能路由,实现流量智能调度


TrafficRoute GTM 的 Perf-智能路由旨在为边缘计算、IoT 物联网、多云混合等大规模分布式场景提供智能化的流量调度方案。


用户无需人工进行流量编排,只需在 GTM 中输入目标节点地址,GTM 即刻呈现最优的流量调度策略;同时,GTM 会根据全球网络质量,目标节点健康状况等动态的更新流量调度规则,真正地实现自动、智能的流量调度。



凭借以下关键技术,Perf-智能路由实现了更智能、更动态的流量调度。


2.1 感知中心


GTM 感知中心通过分布于全球 1100+ 的节点实时采集:

  • 全球网络链路质量,反映网络链路的连通性/时延/抖动等

  • 目标资源健康情况,反映业务的资源节点当前健康程度

  • 目标资源实时负载,反映业务的资源节点当前工作负荷


这些数据经过预处理、转换、分析后作为策略中心的决策依据。



以感知中心生成的中国大陆的网络质量地图为例:



该有向图表达了 6 个省份-运营商之间的网络质量,节点代表省份-运营商,边表示节点之间的连通性 &时延 &抖动。


在实际应用中,GTM 的策略中心亦可根据业务需求,对该有向图施加【成本系数、ISP 亲和、GEO 亲和】等约束,这些约束最终会影响到流量调度。

2.2 策略中心


策略中心根据感知中心上报的事件,利用实例设定的策略算法进行路由计算,进而生成动态的调度拓扑。Perf-智能路由主要有 3 种模式,分别面向对性能、容量、成本、稳定性等有不同诉求的业务场景。


性能优先 | Perf

适用于量级可控、资源容量充沛、追求极致性能的业务

  • 核心原理:据全球网络质量,动态的将各地区的客户端调度至其访问最快的资源节点

  • 核心特色:以数据(网络质量)驱动调度而非经验,将流量调度变得更加智能、实时、精确



容量优先 | Perf-Cap

适用于量级中等,资源分布不均,要求在资源约束下实现最高性能的业务

  • 核心原理:根据全球网络质量,在容量限制的前提下,动态地将各地区客户端调度至其访问最快的资源节点

  • 核心特色:在 Perf 性能优先的基础上,引入资源节点容量的约束,能够更加智能的实现容量,性能的平衡


负载反馈 | Perf-Feedback

适用于量级波动大,资源分布广且不均,追求容量 &性能 &成本的平衡,尤其适合边缘下沉场景

  • 核心原理:根据全局和节点负载,动态的将流量在可用节点中分配,同时兼顾性能最优和容量安全

  • 核心特色:以最合理的资源成本,稳定支撑量级 &波动大的业务,实现容量/性能/成本/稳定性的平衡



Perf-Feedback 内置两种调度倾向:

  • 当全局平均负载较低时,GTM 倾向于性能,将客户端流量调度至其访问最快的资源节点

  • 当全局平均负载较高时,GTM 倾向于稳定,确保每个节点的水位不高于全局平均负载水位


如下图所示,相比于 Perf-Cap,GTM 的调度输入中引入了实时负载的数据。


Perf 自定义路由

适用于用户需要对 Perf 智能路由流量进行微调,以满足特定场景的业务

  • 核心原理:自定义路由规则的优先级高于 Perf 智能路由生成的路由规则优先级

  • 核心特色:在智能化的同时也为业务方提供更多的灵活性,满足特定业务需求



2.3 流量可视化

Perf-智能调度智慧透明,配备全面工具集,助力业务深入分析流量动态,通过 Perf-智能调度,可以观测到实时流量拓扑、客户端请求趋势、客户端地区分布等流量动态。


实时流量拓扑


客户端请求趋势


客户端地区分布


3.字节跳动智能流量调度内部实践


在字节跳动,越来越多的业务正通过边缘计算将服务去中心化,从而实现更优的用户体验和更低的基建成本。面对边缘节点分布广泛、数量庞大、能力参差不齐的挑战,TrafficRoute GTM 的 Perf 智能路由展现出天然优势。通过 Perf -智能路由的三种调度模式,帮助字节跳动内部多个业务落地了边缘下沉,在成本、性能和稳定性上取得较大收益。


3.1 RTC 实时音频,访问时延降低 10%+


字节跳动某款 APP 的 RTC 实时音频服务,在全国三个城市部署了 9 个接入节点。通过采用 TrafficRoute GTM 的 Perf 性能优先模式,确保全国的企业用户在不同工作场所均能体验到极低延迟的音频接入服务,保障了通信的高效与流畅。




GTM 感知中心实时感知全国网络质量,智能地为不同地区客户端动态制定调度规则,确保用户始终连接到最健康、速度最快的音频接入点,以优化通信体验。整个应用过程中,GTM 的 Perf 性能优先模式充分发挥了独特功能,涵盖了智能动态调度策略、显著降低了接入成本以及显著提升了应用性能,展现出其卓越的技术优势。



采用 TrafficRoute GTM 的 Perf 性能优先模式,相比较 GEO 基础路由,最终业务实现了如下收益:



  • 成本收益:智能调度代替了人工维护,每月降低了 3 人天以上;

  • 性能收益:访问时延 avg 降低 10%+,p95 降低 25%;请求成功率 avg 提升 0.05%;

  • 稳定性收益:业务实现了分钟级全链路自动容灾,最快做到 3 分钟全国 95%+ 流量收敛。

3.2 千万 QPS 业务,成本降低 35%,性能提升 20%


在边缘计算浪潮的推动下,能否有效驾驭大规模边缘算力,成为业务边缘下沉成功的关键。TrafficRoute GTM 深度参与了一个超 1500 万 QPS 的业务边缘下沉项目,通过使用 Perf-Cap 容量优先模式,助力其在字节内部率先落地端-边-云一体化的架构,成为先行者。



通过将中心 Region 数据面服务下沉至全国 30+ 省份、50+ 边缘节点,来实现提升用户访问体验(边缘节点距离终端客户端更近)和降低带宽 &算力成本(边缘资源成本约为中心的 20%~60%)。GTM 的 P erf-Cap 容量优先模式,根据业务的客户端请求分布、全国网络质量地图在满足各边缘节点容量约束的前提下,生成全局总时延最低的流量调度规则。



GTM 上实际配置如下图:



此时,用户无需繁琐的容量规划、节点统筹、流量调度,只需在 console 上填入边缘节点的元信息(IP 地址+容量),GTM 即刻生成智能动态的调度,时刻保证最终客户的体验最优。


通过抖音客户端 AB 数据分析,该业务边缘下沉带来的整体收益如下:



其中,边缘下沉 x GTM Perf-Cap 模式,额外取得的收益如下:



3.3 302 服务,端上播放质量显著提升


字节跳动 302 服务承担了抖音、头条、西瓜等 APP 点播 &下载的重定向功能,其流量呈现明显的波峰波谷特征,日内 QPS 在 30-350 万范围波动。


为实现最优访问性能和最低基建成本,要求 TrafficRoute GTM 将动态波动的流量在最小资源冗余的火山引擎边缘节点上合理调度,既要保证性能全局最优,又要保证全局水位健康。



GTM 上实际配置如下图,该业务约 100+ 边缘节点,每个节点容量冗余 20%。



采用 Perf-Feedback 负载反馈模式,302 服务实现了如下收益:



  • 100+ 边缘节点的负载更加可控,资源利用率更加合理,节点负载跑超率从 20%降至 0%;

  • TCP 建联失败率下降明显:晚高峰 19%->16.5%,午高峰 18%-> 14%;

  • 客户端 7 层负面指标均下降其中播放 error 错误率、播放 play_break 中断率降幅超 50%。


END

Trafficroute GTM 通过 Perf -智能路由的三种调度模式,帮助字节跳动内部 RTC 实时音频业务、千万 QPS 业务、302 服务实现了在成本、性能和稳定性上的收益,进一步助力字节跳动内部业务经受超大规模流量考验,确保始终为用户提供稳定服务。


最后,给大家预告番外篇,后续我们将聚焦更新的 GTM 调度功能,详细阐述技术思路、关键技术和实践经验,感兴趣的小伙伴记得持续关注~

2025-07-14 14:386602

评论

发布
暂无评论

ARTS Week15

时之虫

ARTS 打卡计划

一点思考|工作十几年了,竟从未用过do-while!

王磊

Java

你问我答:容器平台改造后的安全是如何解决的?

BoCloud博云

云计算 容器 微服务 PaaS 博云

3. 站在使用层面,Bean Validation这些标准接口你需要烂熟于胸

YourBatman

Hibernate-Validator Bean Validation 数据校验

程序的机器级表示-数组的分配和访问

引花眠

计算机基础

学习 Java,有什么书籍推荐?学习的方法和过程是怎样的?

沉默王二

Java 学习 程序员 书单

Golang Package sync 透析

卓丁

sync Go 语言

给大家介绍下,这是我的流程图软件 —— draw.io

程序员小航

工具 流程图 draw.io drawio-desktop 画图软件

LeetCode题解:239. 滑动窗口最大值,单调队列,JavaScript,详细注释

Lee Chen

大前端 LeetCode

架构师训练营第十三周总结

张明森

有奖征文重磅来袭,来!一起玩把大的!

有只小耳朵

2020-09-03-第十三周学习总结

路易斯李李李

透彻理解AQS源码分析系列之AQS基础二

InfoQ_d2212957090d

Go: gops如何与Go运行时交互?

陈思敏捷

gops Go 语言

ARTS打卡 第15周

引花眠

微服务 ARTS 打卡计划

给DevOps加点料——融入安全性的DevSecOps

禅道项目管理

DevOps 运维 测试 开发 安全性

握草,你竟然在代码里下毒!

小傅哥

Java 程序员 小傅哥 bug 有毒代码

不支持原子性的 Redis 事务也叫事务吗?

大头星

Java redis 事务

[翻译] Go Concurrency Patterns: Pipelines and cancellation[Go并发模式]

卓丁

channel pipeline

拥抱K8S系列-05-基于docker部署面临的问题

张无忌

Docker 运维

深入理解JVM垃圾回收机制 - GC Roots枚举

Skye

GC Roots枚举 安全点 安全区域 OopMap

从湖南“软硬兼施”,管窥三湘水畔的智能浪潮

脑极体

读后感之《任正非:以客户为中心》

王新涵

oeasy教您玩转linux010206 蒸汽机车 sl

o

实战解读丨Linux下实现高并发socket最大连接数的配置方法

华为云开发者联盟

Linux TCP socket 高并发

Spring 5 中文解析测试篇-Spring测试

青年IT男

Spring5 JUnit

商业通识 : 商业为什么能进步?

Walker

学习 得到 个人成长 商业

甲方日常 8

句子

工作 随笔杂谈 日常

阿里巴巴发布国内首个公益区块链标准 用技术让公益公开透明

CECBC

区块链 公益

翻转链表,机器学习视觉训练,对数据的人工标注,使信息丢失,John 易筋 ARTS 打卡 Week 16

John(易筋)

大数据 学习 ARTS 打卡计划 翻转链表 Google论文评判人工预处理

用函数式写法精简Java代码的一个例子

Sean

Java 函数式编程

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