当前位置: 首页 > news >正文

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

相关文章:

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

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

【通讯协议】REST API vs GraphQL

在API设计方面,REST和GraphQL各有缺点。下图显示了 REST 和 GraphQL 之间的快速比较。 REST 使用标准 HTTP 方法(如 GET、POST、PUT、DELETE)进行 CRUD 操作。当您需要在单独的服务/应用程序之间提供简单、统一的接口时,效果很好…...

Linux在安装epel-release时,报错epel-release-7-14.noarch.rpm 的公钥尚未安装

Linux在安装epel-release时报错: [rootXWDBDEV01 ~]# yum install epel-release 已加载插件:fastestmirror, langpacks, product-id, search-disabled-repos, subscription-managerThis system is not registered with an entitlement server. You can …...

在 STM32 上实现温度补偿和校正

本文介绍了如何在 STM32 微控制器上实现温度补偿和校正,以提高温度传感器的测量精度。首先,我们将简要介绍温度补偿和校正的原理和目的。然后,我们将详细讨论在 STM32 上实现温度补偿和校正的步骤和方法。同时,提供了一个简单的示…...

PasteNow for mac剪贴板工具

PasteNow 是一款简单易用的剪贴板管理工具,可帮助用户快速存储和管理剪贴板上的文本和图片内容。用户可以使用 PasteNow 软件快速将文本内容保存到不同的笔记或页面中,也可以方便地将剪贴板上的图片保存到本地或分享给其他应用程序。 此外,P…...

Spark---补充算子

一、Spark补充Transformation算子 1、join,leftOuterJoin,rightOuterJoin,fullOuterJoin 作用在K,V格式的RDD上。根据K进行连接,对(K,V)join(K,W)返回(K,&a…...

第一百八十回 介绍两种阴影效果

文章目录 1. 概念介绍2. 实现方法3. 代码与效果3.1 示例代码3.2 运行效果 4. 内容总结 我们在上一章回中介绍了"自定义SlideImageSwitch组件"相关的内容,本章回中将介绍两种阴影效果.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在…...

MyBatisPlus入门介绍

目录 一、MyBatisPlus介绍 润物无声 效率至上 丰富功能 二、Spring集成MyBatisPlus 三、SpringBoot集成MyBatisPlus 一、MyBatisPlus介绍 MyBatis-Plus(简称 MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变&#xff0c…...

详解分布式微服务架构

目录 一、微服务简介 1、分布式微服务架的诞生 2、微服务架构与SOA架构的区别 3、微服务框架引来的问题 二、服务通信 RESTful API: 消息队列(如RabbitMQ、Kafka): gRPC: GraphQL: Service Mesh&…...

Navicat 技术指引 | 适用于 GaussDB 的用户权限设置

Navicat Premium(16.2.8 Windows版或以上) 已支持对 GaussDB 主备版的管理和开发功能。它不仅具备轻松、便捷的可视化数据查看和编辑功能,还提供强大的高阶功能(如模型、结构同步、协同合作、数据迁移等),这…...

究极短的快排代码【QuickSort】

快排 QuickSort 两边向中间扫描法:取一个基点值,从左往右扫描,基点值左边所有元素小于它,遇到大于基点值的则停下,开始从右往左扫描,右边所有元素大于他,遇到小于基点值则停下,如果…...

MUYUCMS v2.1:一款开源、轻量级的内容管理系统

MuYuCMS:一款基于Thinkphp开发的轻量级开源内容管理系统,为企业、个人站长提供快速建站解决方案。它具有以下的环境要求: 支持系统:Windows/Linux/Mac WEB服务器:Apache/Nginx/ISS PHP版本:php > 5.6 (…...

⑩【Redis Java客户端】:Jedis、SpringDataRedis、StringRedisTemplate

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ Jedis、SpringDataRedis、StringRedisTemplate…...

什么是自动化测试po模式,po分层如何实现?

一、什么是PO模式 全称:page object model 简称:POM/PO PO模式最核心的思想是分层,实现松耦合!实现脚本重复使用,实现脚本易维护性! 主要分三层: 1.基础层BasePage:封装一些最基…...

Redis-缓存高可用集群

Redis集群方案比较 哨兵模式 性能和高可用性等各方面表现一般,特别是在主从切换的瞬间存在访问瞬断的情况。另外哨兵模式只有一个主节点对外提供服务,没法支持很高的并发,且单个主节点内存也不宜设置得过大,否则会导致持久化文件过…...

Docker的入门

Docker的入门 防火墙Docker的命令镜像相关的命令运行容器容器相关的命令 Docker作为一个软件集装箱化平台,可以让开发者构建应用程序时,将它与其依赖环境一起打包到一个容器中,然后很容易地发布和应用到任意平台中。 docker有3大核心&#xf…...

AJAX技术-04-- 跨域说明

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1 同源策略同源策略介绍规定要求 请求协议://域名:端口号 关于同源策略练习关于同源策略总结 2.JSONPJSONP原理说明关于JSONP优化 3.CORS介绍介绍不允许跨域说明跨域…...

蓝桥杯每日一题2023.11.23

题目描述 题目分析 本题使用递归模拟即可,将每一个大格子都可以拆分看成几个小格子,先将最开始的数字进行填入,使每一个对应小格子的值都为大格子对应的数,搜索找到符合要求的即可 (答案:50 33 30 41&am…...

20231124给RK3399的挖掘机开发板在Andorid10下加鼠标右键返回

20231124给RK3399的挖掘机开发板在Andorid10下加鼠标右键返回 2023/11/24 12:19 百度:RK3399 Android10 右键返回 https://blog.csdn.net/danhu/article/details/122467256 android9/android10 鼠标右键返回(已验证) danhu 于 2022-01-13 09:46:42 发布 android10 …...

云计算实验如何结合AI来提高效率!

随着AI助手的流行,我们现在无论是学习还是工作都会带着一个他/她,如何让AI助手提高我们的工作效率是我们需要进化的方向。下面结合“云计算实验”来分享一下如何让AI帮助我们学得更快学得更好。 一、学习某个软件或复杂命令 比如在学习RockyLinux9.2中…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...

在rocky linux 9.5上在线安装 docker

前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

【JavaSE】绘图与事件入门学习笔记

-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...

多种风格导航菜单 HTML 实现(附源码)

下面我将为您展示 6 种不同风格的导航菜单实现&#xff0c;每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

Java数值运算常见陷阱与规避方法

整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...

Bean 作用域有哪些?如何答出技术深度?

导语&#xff1a; Spring 面试绕不开 Bean 的作用域问题&#xff0c;这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开&#xff0c;结合典型面试题及实战场景&#xff0c;帮你厘清重点&#xff0c;打破模板式回答&#xff0c…...