摘要:本文介绍了HTTPDNS服务从中心迁移至边缘详细的落地过程。主要内容为:
-
HTTPDNS下沉边缘实践遇到的挑战,包括服务放置、流量调度
-
HTTPDNS下沉边缘解决方案
-
从性能、成本出发,谈谈HTTPDNS下沉边缘后的收益
传统的DNS流程中,客户端基于UDP协议向Local DNS服务器发送DNS查询请求,这个过程中会存在缓存刷新不可控、DNS劫持、解析结果跨网、解析超时等风险,近年来,HTTPDNS解决方案逐渐兴起。HTTPDNS是面向多端应用(移动端APP,PC客户端应用)的域名解析服务,通过使用HTTP或HTTPS协议替代传统的UDP协议,客户端的域名解析请求直接由HTTPDNS服务器接收和响应,实现了域名防劫持、精准调度、解析结果及时生效。
以字节跳动内部业务为例,如抖音、今日头条、西瓜视频和番茄小说等,QPS峰值达千万级,解析请求量日达万亿次,日常流量极大,为保障业务稳定运行,应用了火山引擎移动解析HTTPDNS(以下简称HTTPDNS)为域名提供递归DNS服务,支撑起超大解析请求量。
由于HTTPDNS服务全面覆盖字节跳动头部APP,在节约成本以及性能优化上存在强烈诉求,在此背景下HTTPDNS团队经过调研,决定将HTTPDNS服务从中心迁移至边缘,以下将从实践难点、解决方案和收益多个维度分享详细落地过程。
一、HTTPDNS下沉边缘实践挑战
1.服务放置
由于边缘计算节点分散、基础设施异构等原因,边缘服务放置一度成为下沉边缘过程中的研究热点,现有方案在处理边缘放置问题时,会将其转化为指定场景下资源约束的目标优化问题,针对成本、质量、流量方向,行业内均有对应研究:
-
针对成本,有研究通过多云的模式进行最小冗余成本建模,来实现资源动态分配。
-
针对质量,有研究通过构建服务依赖模型、最佳冗余动态算法保障可靠性,以及成本和质量均衡模型,来实现质量保障。
-
针对流量,有研究从流量迁移、设备移动、时空轨迹以及资源预部署等,实现流量稳定迁移。
在实际应用过程中,流量及设备迁移特征显著、边缘节点性能差异、稳定性波动大等因素,会干扰现有放置问题模型,因此需要进一步探索基于流量特征和边缘节点资源质量的放置问题。
2.流量调度
边缘计算的流量调度场景主要分为端边调度和云边调度,部分场景会出现边边调度。不同调度阶段拥有相对成熟的调度技术,包括基于DNS的端边调度、基于BGP ANYCAST的骨干网路由调度以及云网络下的云原生流量调度。
实践过程中面临的流量调度挑战,主要围绕着端边调度和云边调度:
<