TikTok 将开源“云中和”边缘加速器

“从某种意义上说,我们正在努力破解云的骨干网,以造福于我们,”TikTok产品管理基础设施经理Vikram Siwach指出,他解释了该公司即将开源的“全球服务加速器”的好处,这是一个可编程的边缘平台,可将应用程序需求与最佳云服务相匹配。

Siwach在本月早些时候于芝加哥举行的KubeCon+CloudNativeCon 2023上透露了TikTok首个主要开源包的细节。

056e61fc0782128ae06b5a37b2ee6ca2.jpeg

TikTok 的Vikram Siwach

TikTok 运营自己的数据中心——考虑到为数百万用户生成即时推荐的大量计算需求,这样成本更低。云对于该工作负载来说太昂贵了。但 TikTok 发现云提供商的网络骨干是接触全球受众的最快方式。因此,基础设施管理团队开发了 GSA 来“管理我们的用户体验”,Siwach 说。

GSA 最初旨在优化网络性能,但 TikTok 还发现了削减云成本的其他好处。“它允许您根据端点成本或路由成本选择最适合您的合作伙伴,”Siwach 对加速器抱有远大的抱负,尽管云提供商也有自己类似的加速器服务:“一旦我们开源该代码,您就不需要使用它们,”他说。

c08cce8d4b6cb839e4fd6d4f375a4fcc.jpeg

为什么 TikTok 这么快

不管你对 TikTok 有何看法,但即使是最愤世嫉俗的系统工程师也必须承认, TikTok移动优先的服务速度快如闪电,不仅几乎可以即时提供短视频,而且还能实时提供个性化信息。 TikTok很早就发现,仅依赖公共互联网可能存在风险:它速度不快,也不可靠。

TikTok 在全球运营着三个数据中心,一个位于美洲,一个位于欧洲和非洲,第三个位于亚洲和澳大利亚。Geo DNS 服务将登录的用户连接到该区域最近的数据中心。

在实验中,TikTok发现,与直接使用互联网相比,使用云提供商的主干将巴西的用户连接到美国数据中心,可以降低延迟。用户可以更迅速地获得推荐。

9e3a64c2750555b57af65b089d270484.jpeg

TikTok 如何削减云成本

事实上,这种方法非常有效,并被应用于多个相互竞争的云提供商的其他全球地区。“这是我们与多个云提供商共同投资的首个用例,”Siwach说(未提及任何名字)。

最初,加速器仅用于推荐,但随着时间的推移,其他服务也将得到支持。无论用户身在何处,让代理靠近他们,都会给TikTok带来一定的优势。如果服务受到一波拒绝服务数据包的攻击,它可以更快地丢弃这些数据包,节省网络流量成本。

对于 TikTok 来说,加速器还可以在云提供商之间提供“中立性”,使他们能够选择价格和性能最好的云提供商。加速器基于 nginx,但经过修改以满足更重的性能需求。该服务从用户那里获取三种不同类型的流量:HTTPS、谷歌的QUIC和Websockets,这些流量通过云提供商 Anycast IP 进入并传输到第 4 层负载均衡器。

GSA 在云提供商的 Kubernetes 服务上运行(通常是运行 4-500 个节点的单个集群)。Siwach 表示,云提供商在管理 Kubernetes 方面做得很好,而且借助 K8s,工作负载可以轻松地跨云提供商转移。

云提供商还处理网络资源的自动扩展,考虑到社交媒体服务的高峰使用模式,这一点很重要。GSA 处理流量、全路径加密和证书管理、用户隐私、应用程序防火墙和其他安全措施等方面。

e144cee80fa145c85f1ecc13bb446b59.jpeg

边缘可编程功能

GSA可以提供云提供商网络性能的丰富细节,并提供统一的管理,使用户摆脱对云提供商的依赖。它还提供可编程功能,有助于性能路由、安全管理和成本优化。

Siwach预测,边缘计算“将演变为一种功能即服务,你可以编写简单的脚本和具有逻辑的程序。”在这里,可编程功能可以以多种方式使用,具体取决于用户需求。在细粒度细节中,您将了解云提供商端点的成本是多少,或者负载平衡的成本是多少。您可以从用户端和服务器端获得指标。然后您可以针对结果进行编程。

“在某些应用中,延迟更重要。因此我们为此进行编程。某些应用不关心延迟——上传图像——所以我们为此进行了编程,”他说。GSA设计提供了一种方法来满足内部和外部产生的法规和合规性法律以及其他要求。

事实上,可编程功能(例如在数据包标头中附加更多信息的能力)可能在这方面对 TikTok 起着关键作用。该服务有一个专门的团队来管理用户安全和数据。他们为公司制定政策,并受益于像 GSA 这样的中央接口。“你可以在云提供商的外围部署这个特殊的软件,对策略进行编程,然后将控制权移交给其他你信任的人,”Siwach解释道。

1586c2f01dd15e6a84f777e65068ce87.jpeg

进入开源领域

对于TikTok来说,此次发布也将是其首次进军开源领域。由于该加速器使用开源组件(尽管Siwach只提到了Nginx),TikTok希望回馈社区。

“所以请对我们好一点。我们不熟悉这里的环境,”Siwach告诉观众。

e712522383a2d4ed9aad8c7c83f962b2.gif

如果您也对边缘计算感兴趣,诚挚邀请您参加12月16日在上海举办的第八届全球边缘计算大会,本次主题为:AI时代的边缘计算,邀请国内边缘计算头部玩家相聚黄浦,共谋边缘AI未来!

e6af4451e654ff486a98eb4ab328cc3a.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/170732.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux常用命令——bg命令

在线Linux命令查询工具 bg 用于将作业放到后台运行 补充说明 bg命令用于将作业放到后台运行,使前台可以执行其他任务。该命令的运行效果与在指令后面添加符号&的效果是相同的,都是将其放到系统后台执行。 在Linux系统中执行某些操作时候&…

【通讯协议】gRPC和Webhook

RPC(Remote procedure Call)之所以被称为“远程”,是因为在微服务架构下,当服务部署到不同的服务器上时,它可以实现远程服务之间的通信。从用户的角度来看,它的作用就像本地函数调用。 下图说明了gRPC的整…

【漏洞复现】Array VPN任意文件读取漏洞

漏洞描述 华耀(中国)科技有限公司(简称:Array)于2003年创建于北京,是优秀的网络功能平台解决方案提供商,也是应用交付解决方案、移动应用接入(SSL VPN)解决方案的全球领导者。华耀现有员工200余人,其中研发团队占到100余人,总部位于北京。并在北京、上海、广州、杭…

文件属性和路径

文件属性 我们先补充一个知识: 任何新建的文件刚开始都是在磁盘上的 假设我们在文件夹中新建一个1.txt文本文档,他的大小是0KB,但是不能说明这个文件不占用磁盘空间 文件由 文件属性文件内容 组成,这里只能说明文件内容是空 文件…

美国季节性干旱数据集

美国季节性干旱数据集 美国干旱展望栅格数据集由国家气象局气候预测中心生成。它在每个月的最后一天发布,提供下个月的干旱前景信息。“美国季节性干旱展望”数据集每月发布一次,特别是每月的第三个星期四。该数据集对美国不同地区发生干旱的可能性进行…

MySQL性能优化,SQL调优,SQL调优的手段

文章目录 对MySQL性能的优化的理解硬件和操作系统层面的优化架构设计层面的优化MySQL程序配置优化SQL优化 SQL调优有哪几种方式1.EXPLAIN2.SQL语句中IN包含的值不应过多3.SELECT语句务必指明字段名称4.当只需要一条数据的时候,使用limit 15.如果排序字段没有用到索引…

04 _ 系统设计目标(二):系统怎样做到高可用?

这里将探讨高并发系统设计的第二个目标——高可用性。 高可用性(High Availability,HA)是你在系统设计时经常会听到的一个名词,它指的是系统具备较高的无故障运行的能力。 我们在很多开源组件的文档中看到的HA方案就是提升组件可…

调试器gdb

目录 一、调试 1、前言 2、 debug和release 二、基本操作 1、退出 quit 2、开始调试 r 3、打断点 b 4、查看断点 info b 5、查看代码 l 6、删除断点 d 7、逐过程 n 8、打印变量内容 p 9、逐语句(进入函数) s 10、查看函数调用堆栈 bt 11、…

linux rpm安装软件卸载 以卸载mysql为例

查看rpm包 rpm -qa | grep 内容 卸载rpm rpm -e --nodeps rpm名称

【Unity实战】切换场景加载进度和如何在后台异步加载具有庞大世界的游戏场景,实现无缝衔接(附项目源码)

文章目录 最终效果前言一、绘制不同的场景二、切换场景加载进度1. 简单实现2. 优化 三、角色移动和跳跃控制四、添加虚拟摄像机五、触发器动态加载场景六、最终效果参考源码完结 最终效果 前言 观看本文后,我的希望你对unity场景管理有更好的理解,并且能…

辅助驾驶功能开发-外部需求篇-导航式巡航辅助NCA外部依赖及需求

1.功能外部依赖 为了设计满足用户需求的 ICA/NCA 系统,需要用到的系统输入为:环境及驾驶员感知信息、 门锁监测信息、胎压监测信息、驾驶员权限管理、车辆模式管理信息、用户请求输入、转向系统 信息、惯性及导航定位信息、被动安全及约束信息、变速箱系统信息、制动系…

华为云之在Linux系统下安装可视化界面

华为云之在Linux系统下安装可视化界面 一、华为云弹性云服务器ECS介绍二、Linux图形化界面介绍三、本次实践介绍3.1 本次实践简介3.2 本次实践环境介绍 四、环境准备工作4.1 预置环境4.2 查看预置环境资源信息 五、连接弹性云服务器ECS5.1 登录华为云5.2 复制ECS弹性公网IP地址…

云计算学习哪些技术

1. 虚拟化技术 虚拟化是云计算的基础,因此了解虚拟化技术至关重要。学习虚拟化技术时,需要掌握以下知识点: - 操作系统虚拟化:了解基于宿主机和客户机的虚拟化技术,如VMware、Hyper-V等。 - 容器化技术:学习…

php的字符转义函数有那些,是干什么的

在 PHP 中,字符转义函数是用于处理字符串中的特殊字符,以防止这些字符被误解、滥用或引起安全问题的一组函数。这些函数的主要作用是确保在将用户提供的数据插入到数据库、构建 HTML 输出或进行其他与安全相关的操作时,不会导致潜在的安全漏洞…

人工智能 -- 神经网络

1、什么是神经网络 什么是人工智能?通俗来讲,就是让机器能像人一样思考。这个无需解释太多,因为通过各种科幻电影我们已经对人工智能很熟悉了。大家现在感兴趣的应该是——如何实现人工智能? 从1956年夏季首次提出“人工智能”这…

leetcode设计循环队列(链表方式来实现)

上次我们那个设计循环队列的时候用的是数组,因为那个时候还是不太会链表,现在有了链表的思路,我们一起来看看解题步骤吧。 https://leetcode.cn/problems/design-circular-queue/description/ 设计循环队列 那我们其实最主要的就是我们这个…

SpringBoot——配置及原理

优质博文:IT-BLOG-CN 一、Spring Boot全局配置文件 application.properties与application.yml配置文件的作用:可以覆盖SpringBoot配置的默认值。 ◀ YML(is not a Markup Language:不仅仅是一个标记语言)&#xff1…

centos 7.9 下利用miniconda里的pyinstaller打包python程序为二进制文件操作方法

centos 7.9 下利用miniconda里的pyinstaller打包python程序为二进制文件操作方法 一.centos 7.9 操作系统安装 参考:https://blog.csdn.net/qq_46015509/article/details/134572030?utm_sourceminiapp_weixin 安装完成后用后台连接工具连上虚拟机 二.安装python3 …

蓝桥杯第2119题 特殊时间 C++ 思维暴力

题目 思路和解题方法 1110 代表 1110年11月10号11点10分1110 4*4*4 有0111 1011 1101 1110 可以符合年 月日 时分秒的都有4种例如 1113有1113 1131 1311 3111 年份符合月日只有11 13 时分秒 只有11 13 11 31 13 11 无31 11 c 代码 #include <bits/stdc.h> using…