分析抖音的互联网架构,了解其系统设计和技术实现,并思考在类似场景下如何构建高可用的系统(下) | 青训营

82 阅读3分钟

1、CDN

介绍:

CDN的全称为Content Delivery Network,即内容分发网络。CDN是在现有Internet基础上增加一层新的网络架构,通过部署边缘服务器,采用负载均衡、内容分发、调度等功能,使用户可以就近访问获取所需内容,从而解决网站拥塞情况,提高用户访问响应速度。

CDN的三个特点:

1、分布式的存储。

2、通过智能的dns解析或者http重定向实现内容的分发的负载均衡。

3、全局负载均衡管理与内容管理。

CDN加速

内容缓存:为CDN网络节点,位于用户接入点,是面向最终用户的内容提供设备,可缓存静态WEB内容和流媒体内容,实现内容的边缘传播和存储,以便用户的就近访问。

2、储存系统

数据冗余与备份

数据冗余是指在计算机系统中存储相同或类似数据的实践。在数据冗余中,相同的数据可以存储在多个地方,以确保数据的可靠性和完整性。数据冗余可以通过多个副本来存储数据,以确保即使在某些数据丢失或损坏的情况下,仍然可以恢复数据,抖音采用了分布式的存储,将数据冗余地存储在多个节点上,以防止节点故障导致数据丢失。

数据备份是指将数据复制到其他位置,以便在数据丢失或损坏的情况下恢复数据。数据备份通常是定期进行的,以确保数据的最新备份可用于恢复。数据备份可以存储在本地或云端,以确保数据的安全性和可靠性。

3、视频处理与分布网络

采用分布式视频

对两个或多个独立同分布的信源进行独立编码,然后由单一解码器利用信源之间的相关性对所有编码的信源进行联合解码。

内容分布网络

内容分发网络(CDN)是由分布于不同地理位置的服务器及数据中心组成的虚拟网络,可帮助您以最小的延迟将内容分发给用户。

弹性伸缩设计

为了应对突如其来的高负载情况,即音直播等视频大量涌入用户导致崩溃等等以及数据故障,抖音采用了弹性伸缩设计,通过监控数据,自动创建删除资源等等,实现自动伸缩扩展,数据备份以及多活架构也让抖音的系统更加可靠牢固。

4、异步处理

介绍:

异步处理不用阻塞当前线程来等待处理完成,而是允许后续操作,直至其它线程将处理完成,并回调通知此线程。 同步处理和异步处理相对,需要实时处理并响应,一旦超过时间会结束会话,在该过程中调用方一直在等待响应方处理完成并返回。

优点:

异步处理的优点在于可以提高程序的效率和响应速度,使程序在进行长时间操作时不会阻碍程序的运行,同时可以充分利用计算机的多核心性能。