10 月 18 日,在 QCon 全球软件开发大会 2024(上海站),火山引擎边缘云网络研发工程师赵彦奇分享了《HTTPDNS 边缘下沉,性能、成本和稳定性之间的取舍与思考》,演讲主要介绍了火山引擎 HTTPDNS 边缘云原生技术实践经验,从火山引擎 HTTPDNS 迁移至边缘的必要性出发,围绕实践过程当中遇到的困难和挑战,打造 HTTPDNS 下沉边缘解决方案,最终实现了性能提升、成本下降的全过程,以及对整体实践的回顾与未来展望。
以下是演讲实录:
大家好,我今天分享的内容主要是火山引擎 HTTPDNS 边缘云原生技术实践。HTTPDNS 是服务于抖音集团几乎 95% 移动端用户的移动端域名解析服务,通过这次改造,HTTPDNS 服务从中心云完全下沉到了边缘,业务上的收获是 20% 的性能提升、 35% 的成本优化。本次分享主要聚焦于 HTTPDNS 服务进行边缘云原生改造的必要性,面临了什么挑战以及解决方案,最后我将分享在工程和技术管理上,用了哪些比较好的方法论保障项目最终落地。
在分享之初,先为大家介绍一下团队。HTTPDNS 作为移动端域名解析服务,是火山引擎 TrafficRoute DNS 套件的重要子产品。火山引擎 TrafficRoute DNS 套件包括了云解析、云调度、移动解析、公共解析等,服务于抖音、头条、飞书、豆包,同时还向 CDN、IaaS 等基础设施提供成套的域名接入、解析和调度的解决方案。通过产品概览图,大家可以看到在整个互联网全链路中,我们的产品是如何提供服务的。
1. HTTPDNS 服务为何要做边缘云原生改造
火山引擎 HTTPDNS 是面向多端应用的域名解析服务,适用于移动端 APP、PC 客户端等多种应用场景,在抖音集团内部,服务于抖音、头条、豆包等产品的移动端域名解析服务,支撑起峰值达到千万级的 QPS ,日达万亿次的解析请求量,作为长期部署在中心云的服务,对可靠性和成本要求都比较高,为什么选择做边缘云原生的改造呢?
主要还是基于业务,同时来自外部业务和团队内部的诉求驱动着架构改造:
-
外部驱动:随着抖音用户越来越多,HTTPDNS 的接入流量也从曾经的百万上涨到了千万级 QPS ,抖音集团业务希望 HTTPDNS 服务可以在缩减成本的基础上,降低解析时延,以此来提高业务收益;
-
内部痛点:服务部署在中心云,整体架构稳定的同时也限制了性能的优化空间,受限于在中心云机房的部署的,资源、带宽的价格都是固定的,在流量不变的情况下,很难进一步压缩成本、提升性能。业内通常会选择使用 Anycast 来优化网络接入的质量和性能,但国内 Anycast 存在类似于 pop 点吸流不准以及运营商之间 BGP 路由不能完全打通的问题,性能不及预期。
在此基础上,HTTPDNS 团队关注到边缘云架构,边缘云在泛互联网、游戏、智能驾驶等行业实现了很好的支撑,整个边缘云的生态和技术相对比较成熟,可能是 HTTPDNS 服务进一步降低成本、提升性能的好机遇。
作为承载大流量的服务,HTTPDNS 在应用边缘计算的时候会遇到一些挑战。
-
资源受限:首先,千万级流量的 QPS 需要海量的计算资源,边缘计算自身拥有将服务部署在离用户近的位置、分布广泛、节点多的优势,同时也存在每个节点的容量较小、资源受限的问题,一方面体现在流量需求和资源分布不均的情况,另一方面边缘侧基础设施相对云中心仍在完善中;
-
稳定性欠缺:其次,随着部署的节点越来越多,比如最早是三个 region 机房,当整体边缘下沉以后,大概会有近百个节点,这种情况会导致整个系统的运维复杂度上升,后期面临版本升级、不定期机房割接和裁撤等情况时,整个系统的可靠性会下降。
-
收益难评估:最后,由于要从中心云迁移到边缘云,整个架构上需要对云原生的组件重新做适配。相关的可观测能力,包括监控告警、日志分析、运维自动化能力都需要重新建设,整个项目周期比较长,架构改造比较大,对于需要投入很多资源和人力来做的这种项目,如果在前期不能很好地评估风险和收益,那么最终可能会导致项目失败。
基于以上基础,我们最终结合了工程和技术思路来推进实践:在工程上,我们通过可控的稳定性换取收益;在技术上,我们通过架构升级和运维自动化进一步提高稳定性。
2.HTTPDNS 服务边缘云原生改造时面临的挑战
HTTPDNS 服务在进行边缘云原生改造过程中遇到了哪些挑战?曾经引以为傲的成熟架构、完善体系,在中心云部署迁移到边缘云的时候,反而成为了很大的约束。因为架构成熟,所以对云组件的依赖特别强,因为体系完善,所以在中心云构建的一整套的运维自动化,以及容灾方案都需要在边缘云架构下重新构建。同时,HTTPDNS 服务是 APP 用户接入互联网的第一跳,一旦发生故障,严