2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

更快、更稳、更优,揭秘火山引擎全站加速 DCDN 规模容器化最佳实践

  • 2024-11-25
    北京
  • 本文字数:3168 字

    阅读完需:约 10 分钟

大小:1.67M时长:09:44
更快、更稳、更优,揭秘火山引擎全站加速 DCDN 规模容器化最佳实践

在数字化转型的浪潮与 5G 技术快速进步的推动下,短视频、电子商务、在线支付等业务迅速增长,带来了对全站加速服务需求的显著上升。为了更好地服务用户、提高体验,传统的全站加速服务正遭遇资源分配、运维效率、稳定性和成本控制等多方面的挑战。随着边缘计算的迅速发展,凭借其弹性可伸缩、自动化交付、安全性与稳定性等创新特性,为解决这些问题提供了新的途径。因此,火山引擎边缘云技术团队利用边缘计算的云原生技术优势,将全站加速 DCDN 业务转移到边缘计算平台,推动了全站加速 DCDN 服务的一次重大创新升级。


经过一年的改造迁移,火山引擎全站加速 DCDN 目前已将 90% 的流量转移到边缘计算容器平台。面对发展中的挑战,全站加速 DCDN 不仅积极应对,还在持续加强容器平台的调度效率、算力、存储和网络等关键能力,确保为抖音集团内部和各行业客户业务提供稳定、高效且极具性价比的加速服务。


本文将基于全站加速 DCDN 与边缘计算的关系以及容器化过程中面临的挑战,分享火山引擎全站加速 DCDN 在边缘计算容器平台规模化落地的实践。


1.全站加速 DCDN 和边缘计算


火山引擎全站加速 DCDN 提供 http/https 动态及动静态混合内容的加速服务,利用丰富的网络资源,结合自研的传输优化、智能缓存、动态路由、安全防护等能力,为用户提供安全、稳定的一站式加速服务,提升用户访问体验。通过抖音集团业务和规模化 ToB 业务的打磨,火山引擎全站加速 DCDN 已形成了一套完善且具备规模商业化能力的系统,并在全球具备 2500+ 节点,可以提供亿级 QPS 的全网并发能力。


边缘计算是分布式计算架构,在靠近用户终端的地方部署基础设施资源,将算力、网络、存储等下沉到边缘,提供低时延、高带宽的服务能力。全站加速 DCDN 节点天然具备全球多节点的分布式特性,且部署在边缘,更靠近用户,因此利用边缘计算的资源,包括网络、算力和存储,来增强全站加速 DCDN 服务,已经成为一种必然的发展趋势。



2.全站加速 DCDN 为什么选择容器


边缘计算提供裸金属,虚拟机和容器三种不同的计算资源。火山引擎全站加速 DCDN 对三种计算资源进行了对比。


类型
优势
劣势
裸金属
  • 性能:直接访问硬件资源,提供最佳的性能和效率。

  • 隔离性:每个裸金属服务器完全独立,提供较高的隔离级别。

  • 定制性:可以对硬件进行完全的定制和控制。

  • 资源利用率:可能存在资源浪费,因为每个服务器都需要专用的硬件资源。

  • 部署和管理复杂性:需要手动管理硬件和操作系统,部署和扩展相对复杂。

虚拟机
  • 资源隔离:在一台物理服务器上创建多个虚拟机,实现资源隔离和复用。

  • 灵活性:虚拟机可以快速创建、销毁、迁移,提供了更好的灵活性。

  • 兼容性:可以运行各种操作系统和应用程序,兼容性较好。

  • 性能开销:由于虚拟化层的存在,可能会有一定的性能开销。

  • 资源限制:虚拟机的资源分配是固定的,可能无法完全利用硬件资源。

容器
  • 轻量级:容器比虚拟机更轻量级,启动速度快,资源占用少。

  • 高效部署:容器可以快速部署和扩展,提高了开发和运维的效率。

  • 资源利用:容器可以更好地利用硬件资源,支持密集部署。

  • 隔离性:相比虚拟机,容器的隔离性较弱,可能存在一定的安全风险。

  • 操作系统限制:容器通常需要基于特定的操作系统内核。


容器具备的资源轻量级、弹性扩缩容、部署高效等特点更符合业务需求,也可以更好的提升资源利用率,最终全站加速 DCDN 选用容器作为计算资源来进行业务迁移。


全站加速 DCDN 容器化可以解决传统 DCDN 存在的资源、业务、稳定性、成本方面的问题:

  • 异构管理:通过容器化可以解决不同机型、不同资源类型带来的异构管理问题

  • 活动突发:活动突发资源扩容周期长、效率低,通过容器化弹性伸缩解决活动带来的突发资源问题

  • 业务稳定:混部资源抢占,故障域耦合时,可以通过容器做业务拆分,实现资源和调度域隔离

  • 成本优化:通过小规格容器化,可以提升资源的售卖率和碎片化资源的利用率


除此之外,全站加速 DCDN 容器化能对容器的平台、计算、存储、网络等能力进行全方位的打磨优化,同时可以将全站加速 DCDN 节点上多余的算力、带宽、存储等资源释放出来进行售卖,提升资源利用率,对业务来说实现了双赢。


3.技术挑战和解决方案

全站加速 DCDN 现网改造需要容器兼容现有的平台架构,满足全站加速 DCDN 侧的需求,包括:

  • 通过 Kata+富容器,来实现 systemd 管理、ssh 登陆,同时具备安全隔离、协议栈优化能力;

  • 通过 Ceph 和 Spdk ,让存储支持本地盘/云盘能力;

  • 通过虚拟网卡,支持独立 PIP,具备出公网能力;

  • 通过 LB4 EIP 透传能力,使全站加速 DCDN 具备 LB4 多 EIP 服务能力等。



此外,全站加速 DCDN 容器化过程中还存在很多技术挑战。面对这些挑战,团队不断进行探讨,针对性地提出解决方案。


3.1 通过富容器+ kata ,实现独立协议栈隔离


传统容器作为独立的运行环境,缺少 systemd 进行容器内部的进程管理,原有的业务运维体系依赖 crond、sshd 等服务。全站加速 DCDN 侧需要有独立的协议栈来进行协议栈传输优化,同时需要安全隔离的环境。为解决这一挑战,最终团队决定采用富容器+ kata 的方案,实现独立协议栈隔离、减少对运维体系的侵入,保持原有的运维体系。



3.2 EIP 直通模式兼容 LB 转发模式,解决流冲突问题


全站加速 DCDN 接入调度的负载均衡主要由 DNS 负载均衡实现,这种情况下每个节点会存在多个 EIP 来做接入,公有云的 LB 在不侵入用户主机的情况下,会通过 overlay 封装来进行转发,但在某些特殊的场景下,同 CLIENT:CPORT 可能会和不同的 EIP:EPORT 通信,如果转发到后端遇到相同的 RIP:RPORT 就会出现流冲突的问题。为解决这一挑战,最终团队决定通过 EIP 直通的模式兼容原有全站加速 DCDN 的 LB 转发模式,LB 和后端通信的时候,DSTIP 直接使用 EIP 而非 RSIP,同时在 RS 上监听 EIP,这样就解决了流冲突的问题。



3.3 调度亲和性,解决 CPU 负载不均问题


在同集群发现不同机型服务器 CPU 表现不一样,这会带来负载不均的问题。为解决这一挑战,团队决定通过调度亲和性,保证同集群内调度的 node 机型保持一致,解决机型代差导致的 CPU 不均。容器 CPU 之前是使用 defaultCpuSet 中的核,以来时间片调度,会造成和其他控制面组件的争抢,所以容器 CPU 需要单独设置 CPU 核,同时 vcpu 和物理 cpu 做绑定,避免其他业务的影响。


3.4 三大举措提升稳定性


全站加速 DCDN 容器化过程中,通过以下方式来保障业务稳定性。

  • 故障迁移和熔断:支持集群内宿主机故障时 pod 自动迁移,同时为防止大规模删除容器,需要具备中心熔断机制,容器平台通过引入"风控策略",可以保证一定时间范围不允许删除超过一定节点的 Pod,从而避免大规模故障发生,同时在边缘 k8s 异常或者通信失败的时候,边缘集群内具备边缘自治能力,保证现有业务稳定运行。

  • 故障恢复:如果熔断异常,出现大规模删除容器,那就需要具备快速恢复的能力,容器实例通过建立快照能力,并且通过快速恢复工具,可以在真实发生大规模删除 Pod 时,实现对全网删除 Pod 的快速恢复。

  • 调度联动:结合全站加速 DCDN 侧质量探测结果,全站加速 DCDN 调度系统会自动感知节点健康状态,异常情况下会自动将节点主动摘除。


4.全站加速 DCDN 规模容器化实践效果


全站加速 DCDN 容器化改造过程持续了一年,目前全站加速 DCDN 90% 以上的流量已经在容器平台上平稳运行。全站加速 DCDN 容器化为业务带来了直观收益:

  • 提升资源配置效率:容器的弹性调度能力有效应对了春节活动、双 11 和双 12 等特殊时期带来的突发资源问题,显著提升了资源配置的效率,将从前以月为单位的资源筹备时间缩短至一周以内。

  • 规避系统性风险:通过全站加速 DCDN 容器化,隔离了故障域,规避了一次大规模系统性风险以及减少了 90% 的资源争抢问题。

  • 提升上线效率:容器化部署后,通过镜像打包,节点的上线效率提升了 80% 以上。

  • 提升资源售卖率:通过小规格容器提升碎片化资源利用率,边缘资源售卖率提升 11%。


5.未来展望

全站加速 DCDN 容器化帮助解决了很多传统 DCDN 存在的痛点问题,也取得了相应的收益,下一步火山引擎全站加速 DCDN 团队将继续协同边缘计算,在以下方面进行更深的合作:


  • 边缘统一调度:通过统一调度,对算力,存储,以及带宽统一分配,实时感知全站加速 DCDN 算力和带宽使用情况,做到算力弹性流动调度,提升资源使用率。

  • 安全防护:依托边缘大规模分布式资源,提升 WAF ,抗 DDoS 攻击能力,通过流量检测、流量清洗及黑洞等手动方式,远源拦截,保障源站稳定性。

  • 算力卸载:通过智能网卡,ssl 卸载等能力,卸载算力,提升算力综合处理能力。

  • 全球网络互联:通过全球网络互联,云边专用网络,提升内部管理通道,数据回传稳定性,提升内部网络加速性能。


END

采纳边缘云原生技术将为全站加速 DCDN 带来显著的竞争优势,在构建一个高效、稳定、可靠且具备良好可扩展性的现代化加速网络过程中,边缘云原生与全站加速 DCDN 的联合应用将发挥越来越关键的作用。面向未来,边缘云原生与全站加速 DCDN 会不断进行深度融合,将为网络技术的发展带来更多可能性,并推动行业达成新成就。

2024-11-25 09:386337

评论

发布
暂无评论
发现更多内容

都在这儿了!5月 Flink 社区发版、更新汇总

Apache Flink

大数据 flink 流计算 实时计算

霸榜 GitHub,一款开源的 Linux 神器!

GitHubDaily

GitHub Linux 编程 开发者工具 计算机网络

MySQL实战四十五讲基础篇总结(一)

一个有志气的DB

MySQL

亲密爱人

Janenesome

爱情

比特币为什么值两万亿?

Haiyung

比特币

Flink 与 Hive 的磨合期

Apache Flink

大数据 flink 实时计算

物联网技术栈之通信技术

老任物联网杂谈

物联网 通信

任何事物当中的百分之九十都是垃圾?

池建强

互联网 信息噪声

为什么window.open只是打开了一个空白页

阡陌r

Java 踩坑 网络协议

如何成为一名具备产品思维的软件工程师?

顾强

产品 开发者 职场

如何讲好故事

Bob Jiang

spring事务原理

年轮

spring 源码分析

干货分享:分布式场景之刚性事务-2PC详解

奈学教育

分布式

MySQL实战四十五讲基础篇总结(二)

一个有志气的DB

MySQL 日志

程序员的晚餐 | 5 月 19 日 蒜香鸡腿,味道令人惊讶

清远

美食

编辑距离的计算

zikcheng

算法 编辑距离

回顾 | Apache Flink Meetup 杭州站圆满结束(附PPT下载)

Apache Flink

大数据 flink 流计算 实时计算

MySQL实战四十五讲基础篇总结(三)

一个有志气的DB

MySQL mysql事务

使用gitlab ci构建IOS包并发送通知消息到企业微信

Zoe

ios ci gitlab

你是不是对副业有什么误解?

一尘观世界

程序员 副业 认知提升 思维方式 格局

一款Python实用神器,5 行 Python 代码 实现一键批量扣图

狂师

Python 学习 效率工具 开发者工具 开发

Flink Weekly | 每周社区动态更新-20200513

Apache Flink

大数据 flink 实时计算

识别代码中的坏味道(四)

Page

敏捷开发 面向对象 重构 CleanCode 代码坏味道

SQL 找出 100 以内的质数

zero

sql MySQ

Java开发架构篇:初识领域驱动设计DDD落地

小傅哥

设计模式 领域驱动设计 DDD 小傅哥 架构设计

【玩转写作社区】Markdown & 快捷键详解

InfoQ写作社区官方

写作平台 markdown 编辑器 快捷键 玩转写作平台

【教你如何写作】参与创作,领取 InfoQ 编辑训练营内训课程

InfoQ写作社区官方

写作平台 投稿 热门活动

有趣的解谜:Python Challenge

封不羁

Python

单例模式——独一无二的对象

大头星

Java 面试 设计模式 单例模式

工信部报告显示:电话越打越少 、短信越发越多……这是怎么回事?

赵新龙

短信 工信部

视频 | 5款免费翻译软件实测对比,从花花董花花的被删微博到北京话“你丫给我站住了”都能翻译

赵新龙

翻译

更快、更稳、更优,揭秘火山引擎全站加速 DCDN 规模容器化最佳实践_字节跳动_火山引擎_InfoQ精选文章