抖音的服务器究竟有多大?

2024-09-02 08:38
文章标签 服务器 抖音 究竟

本文主要是介绍抖音的服务器究竟有多大?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

点击上方“朱小厮的博客”,选择“设为星标”

后台回复"书",获取

后台回复“k8s”,可领取k8s资料

最近看到一个有意思的提问:抖音服务器带宽有多大,为什么能够供那么多人同时刷?

今天来给大家科普一下。

34c2a6f91a88c781feddd80d65ab7573.png
图片来自 Pexels

抖音,百度,阿里云,腾讯都是自建的数据中心,都是 T 级别出口带宽(总出口带宽),也就是达到 1T=1024G/s 的出口带宽,服务器总署基本都在 20 万台以上,甚至阿里云都超过了 100 万台。

字节跳动的数据中心总带宽,可能在 10TB 级别左右,预期突破 15TB 级别不远了。

一般情况下:总出口带宽 1TB,实际机房出口带宽可能只有 100G 上下,这是采用双(多)链路设计,双出口实现动态流量分担,总的出口带宽可以达到 T 级别。

f3142b5417eeb5d9c8e144155d42dcba.png
大型数据中心

想要同一时间有数亿人在线,TB 级别带宽,CDN 加速和多节点,负载均衡等等技术缺一不可。
(这个设计技术过于复杂,有相关专业朋友,可以评论简要概述)

4219aa5e7d8e7e3d62c102ed1e3d45a1.png
CDN 加速

字节跳动有多少台服务器?

根据网络数据整理,2017 年 2-3 万台服务器,这个时候主要是租用服务器为主。

2018 年,字节跳动自己建设了数据中心,最大的数据中心在河北怀来官厅湖新媒体产业园,一期 5 万台服务器,二期 9 万台服务器。

2018 年,租用+自建的服务器数量达到 17 万台服务器。

2020 年,根据字节跳动招聘公告的数据,显示有 42 万台服务器。比 2018 年增长了 1.5 倍。(数据来自网络)

5ac4b194c6e2db81e5fe7da98dbf9276.png
一个机柜中 10-20 台服务器

这部分服务器都是给中国区域使用,主要应用国内的抖音,西瓜视频,今日头条,飞书等产品。

在美国的 TIKTOK 是独立出来的运营,数据在美国当地存储和分发。2020 年 Tiktok 在美国也租用了近 10 万台服务器

据 Business Insider 公布数据,2020 年上半年,字节跳动在美国弗吉尼亚州北部租用了能耗达 53 兆瓦的数据中心。可以容纳数十万台服务器,占地面积可达数十万平方英尺。

Tiktok在印度,新加坡都在投资建设数据中心。

字节跳动大型的数据中心出口带宽是多少?

聊完了服务器数量,那么咱们来点硬核的东西:字节跳动大型的数据中心出口带宽是多少?

知识点:所谓的出口带宽,其实就是咱们普通人所说的下载带宽。就是服务器给每一个手机分发数据总速度。

一般情况下,小型的 IDC 公司自建机房,比如一些网站公司,租用联通,移动,电信的机房,可能总体出口带宽只有 5G。超过 30G 那都是具备一定规模的企业。网络公司营收少说也是几千万的企业。

所以,经常能够看到,一些规模还不错的企业,基本上都不再自建机房,都是使用云主机。例如阿里云的 ECS,腾讯云,百度云,AWS(亚马逊)。

一般一个企业网站(企业官网),20M 带宽,4G 内存,100G 硬盘,一年价格也就 4000-5000 块钱就足够了,赶上做活动价格可能更便宜。

这里面就是带宽最贵,当然增加带宽,达到一定等级,例如访问量增大,必须要增加内存和硬盘。

相比来说,带宽增加的话,费用更贵一些。这里就跟你说明一下:带宽比较昂贵,属于稀缺资源。

我们来看中国移动的一个机房,中国移动(河北石家庄)数据中心的数据:占地面积 174 亩,总建筑面积 13 万平方米,规划 10 栋单体建筑,全部建成后可提供约 3 万个机架的装机能力。

3 个 IDC 机房共可提供 3.1 万架机柜,15T 带宽资源。一个机柜,全 1U 设备部署数量一般不超过 16 台,全 2U 设备一般不超过 12 台,全 4U 设备一般 4 到 7 台。

我们取高性能的 2U 和 4U 服务器进行平均折中,各算一半(毕竟移动也算是有钱的大户,不能买低端的 1U 设备)。

那么 3.1 万架机柜就可以安装,最多 21-36 万台服务器。这里粗略取一个平均值:30 万台服务器。

享受 15T 的出口带宽资源。当然作为电信的干路网,移动拿带宽资源肯定是要比字节跳动更有优势的。

所以,我们粗略地估计字节跳动自建的 17 万台服务器的数据中心。总出口带宽可能在 7Tb-10TB 上下。

基本上肯定会采用双出口流量设计,再加上多链路的部署方式:可以做到实际出口带宽在 800G-1TG 就可以实现 10T 左右的总出口带宽。【这是技术方式】

2280a3666bee12867b0698ae42a452c8.png
字节跳动 2018 年河北怀化数据中心

T 级别出口带宽是什么概念,如果我告诉你 2009 年,整个上海的出口带宽才 1140G,也就是刚刚达到 1TB。

在短短的 10 年后,一个企业的数据中心的出口带宽就超过 1TB,这个速度真的不可想象。

要知道 2009 年,虽然智能手机不发达,但是个人 PC 销量已经非常庞大了。

CDN 加速,让大众刷抖音,看视频都不再卡。

知识点:CDN(Content Delivery Network,内容分发网络)。

将服务端的内容发布到最接近用户的边缘节点,使用户可以就近取得所需的内容。

解决 Internet 网络拥塞状况,提高用户访问网站的响应速度。多种加速的方案集合。

用通俗的话解释 CDN 就是: 会把一些页面,专门压缩,有的压缩为静态页面,静态页面直接分发速度快。用户可以在 2s 内看到内容,体验感更好。【这是静态传输】

对于动态视频,首先通过智能路由,寻找最佳路径,然后协议优化将长连接,内容进行压缩,去除冗余。【这就是动态压缩】

给你们看一下 2015 年腾讯 5 亿日活,集合了音乐,即时通讯等等产品的 CDN 的级别,达到了 10TB 带宽。每天请求万亿次。

因此,我这里说字节跳动整体服务器有 10TB 应该只少不多。毕竟抖音日活有 6 亿,西瓜视频+今日头条我们粗略算是 2 亿,总计有 8 亿的日活。

就是这么大的带宽和技术实力,才能让我们看视频这么顺畅。

想知道更多?扫描下面的二维码关注我后台回复"技术",加入技术群
后台回复“k8s”,可领取k8s资料【精彩推荐】
  • ClickHouse到底是什么?为什么如此牛逼!

  • 原来ElasticSearch还可以这么理解

  • 面试官:InnoDB中一棵B+树可以存放多少行数据?

  • 架构之道:分离业务逻辑和技术细节

  • 星巴克不使用两阶段提交

  • 面试官:Redis新版本开始引入多线程,谈谈你的看法?

  • 喜马拉雅自研网关架构演进过程

  • 收藏:存储知识全面总结

  • 微博千万级规模高性能高并发的网络架构设计

这篇关于抖音的服务器究竟有多大?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1129504

相关文章

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域

Windows Server服务器上配置FileZilla后,FTP连接不上?

《WindowsServer服务器上配置FileZilla后,FTP连接不上?》WindowsServer服务器上配置FileZilla后,FTP连接错误和操作超时的问题,应该如何解决?首先,通过... 目录在Windohttp://www.chinasem.cnws防火墙开启的情况下,遇到的错误如下:无法与

Windows server服务器使用blat命令行发送邮件

《Windowsserver服务器使用blat命令行发送邮件》在linux平台的命令行下可以使用mail命令来发送邮件,windows平台没有内置的命令,但可以使用开源的blat,其官方主页为ht... 目录下载blatBAT命令行示例备注总结在linux平台的命令行下可以使用mail命令来发送邮件,Win

Ubuntu 22.04 服务器安装部署(nginx+postgresql)

《Ubuntu22.04服务器安装部署(nginx+postgresql)》Ubuntu22.04LTS是迄今为止最好的Ubuntu版本之一,很多linux的应用服务器都是选择的这个版本... 目录是什么让 Ubuntu 22.04 LTS 变得安全?更新了安全包linux 内核改进一、部署环境二、安装系统

nginx配置多域名共用服务器80端口

《nginx配置多域名共用服务器80端口》本文主要介绍了配置Nginx.conf文件,使得同一台服务器上的服务程序能够根据域名分发到相应的端口进行处理,从而实现用户通过abc.com或xyz.com直... 多个域名,比如两个域名,这两个域名其实共用一台服务器(意味着域名解析到同一个IP),一个域名为abc

pycharm远程连接服务器运行pytorch的过程详解

《pycharm远程连接服务器运行pytorch的过程详解》:本文主要介绍在Linux环境下使用Anaconda管理不同版本的Python环境,并通过PyCharm远程连接服务器来运行PyTorc... 目录linux部署pytorch背景介绍Anaconda安装Linux安装pytorch虚拟环境安装cu

MySQL 中的服务器配置和状态详解(MySQL Server Configuration and Status)

《MySQL中的服务器配置和状态详解(MySQLServerConfigurationandStatus)》MySQL服务器配置和状态设置包括服务器选项、系统变量和状态变量三个方面,可以通过... 目录mysql 之服务器配置和状态1 MySQL 架构和性能优化1.1 服务器配置和状态1.1.1 服务器选项

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块