深入浅出 -- 系统架构之日均亿级吞吐量的网关架构(CDN内容分发)

本文主要是介绍深入浅出 -- 系统架构之日均亿级吞吐量的网关架构(CDN内容分发),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

亿级吞吐第二战-CDN内容分发

   CDN(Content Delivery Network)内容分发网络是一种构建在现有网络基础上的智能虚拟网络,依靠部署在全球各地的节点,通过负载均衡、内容分发、机器调度等功能,使用户的请求能够被分发到离自身最近的节点处理,就近获取所需的资源,最终达到提升用户访问速度以及降低服务器访问压力等目的。

   CDN出现的本质是为了解决不同地区用户访问速度不一致问题,在之前的《TCP/IP》文中曾提到过,网络上的数据传输本质上最终都会依赖于物理层的传输介质,那么当用户和目标服务器的“实际地理距离”越长,访问的速度自然会越慢,而CDN的核心就在于:各地区都会部署子节点,当用户访问时,会将其请求分发到距离最近的节点处理,就好比生活中的例子:

某个想吃北京烤鸭的人身在美国,最初仅北京有相应的店铺,因此想吃的时候必须得跑到北京去买,那么这一去一回的过程自然会需要很长时间,而CDN的思想就是在各地都开分店,好比美国也有北京烤鸭的分店,当某个用户想吃时,不再需要跑到北京去买,而是可以直接选择就近的店铺进行购买,这样速度自然会更快。

2.1、CDN分发的内容

   通常一个平台的资源都会分为静态与动态两种类型,而CDN本质上是一种类似于缓存的技术,缓存必然会存在延迟性,对于会经常发生变化的动态资源,使用CDN意义并不大,因为CDN无法确保数据的实时性。
由于静态资源很少发生变更,所以CDN一般会用于静态资源的分发,如果你要使用CDN服务,国内有大量的CDN提供商提供这类服务,当购买CDN服务后,将静态资源传给CDN服务,那么这些静态资源将自动的被分发到提供商全球各地的CDN节点。

2.2、CDN实现原理

   在系统接入CDN服务并将静态资源传递给CDN后,那么当用户再访问系统时,对应的一些请求就会被分发到距离用户最近的CDN节点处理,但这究竟是如何实现的呢?接下来简单聊一聊。

一般用户发送请求都是通过域名去进行访问的,域名最终会被解析成一个IP,那么如何解析出一个距离用户最近的服务器IP,这是普通的DNS服务器做不到的,因此CDN为了实现这点,需要特殊的DNS服务器去解析域名请求,该DNS服务器需要解决两个问题:
①需要得知用户目前的所在位置。
CDN所有节点中,哪个节点离用户最近。

对于上述两个问题,第一个问题可以直接从用户的请求中提取客户端IP,然后根据IP去判断,可以将IP解析为上海电信、北京移动等,从而能够确定用户的大概位置。

第一个问题容易找到答案,但实现CDN请求分发的难点在于第二个问题:如何确定距离用户最近的CDN节点。这时就需要用到DNS解析中的CNAME机制了,DNS域名解析主要会分为两种:

  • ①将一个域名解析为一个具体的IP,这种方式被称为A记录机制。
  • ②将一个域名解析为另一个域名,这种方式就被称为CNAME机制。

CDN中,这个CNAME会被配置为CDN专用DNS服务器的域名地址。

某个用户通过域名static.xxx.com请求静态资源时,这个域名会映射着一个CNAME,例如cdn.xxx.com,当普通的DNS服务器收到用户的static.xxx.com域名请求后,经过解析得到一个CNAME,该CNAME对应的则是CDN专用的DNS服务器,那么会将域名解析工作转交给该DNS服务器处理,CDN专用DNS服务器对cdn.xxx.com域名解析,根据服务器上记录着的所有CDN节点信息,选出距离用户最近的CDN服务器地址并返回给用户,最后用户就可通过该地址访问距离自己最近的CDN节点。

上述这个过程也被称为智能DNS解析技术。

2.3、CDN带来的优势

   大致聊了CDN分发原理后,再来思考思考CDN的引入能够给系统带来哪些好处呢?

  • ①加快用户的访问速度,带来更好的用户体验感。
  • ②分担系统50%以上的访问流量,降低系统的负载压力。
  • ③节省系统源站的带宽消耗,降低网络带宽的成本。
  • ④进一步提升系统安全性,大部分攻击请求会被CDN节点阻挡。

   从上看来,系统接入CDN服务后带来的收益很大,就算原本的系统访问速度很慢,在接入CDN后也能够快速加载,对于用户而言体验感会进一步提升,并且最关键的是:对于网站整体而言,几乎90%以上的静态请求会由CDN去响应,系统源站能够减轻很大的访问压力,从而能够确保系统本身拥有更大的“动态请求”吞吐能力。

这篇关于深入浅出 -- 系统架构之日均亿级吞吐量的网关架构(CDN内容分发)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

通信系统网络架构_2.广域网网络架构

1.概述          通俗来讲,广域网是将分布于相比局域网络更广区域的计算机设备联接起来的网络。广域网由通信子网于资源子网组成。通信子网可以利用公用分组交换网、卫星通信网和无线分组交换网构建,将分布在不同地区的局域网或计算机系统互连起来,实现资源子网的共享。 2.网络组成          广域网属于多级网络,通常由骨干网、分布网、接入网组成。在网络规模较小时,可仅由骨干网和接入网组成

亮相WOT全球技术创新大会,揭秘火山引擎边缘容器技术在泛CDN场景的应用与实践

2024年6月21日-22日,51CTO“WOT全球技术创新大会2024”在北京举办。火山引擎边缘计算架构师李志明受邀参与,以“边缘容器技术在泛CDN场景的应用和实践”为主题,与多位行业资深专家,共同探讨泛CDN行业技术架构以及云原生与边缘计算的发展和展望。 火山引擎边缘计算架构师李志明表示:为更好地解决传统泛CDN类业务运行中的问题,火山引擎边缘容器团队参考行业做法,结合实践经验,打造火山

Linux系统稳定性的奥秘:探究其背后的机制与哲学

在计算机操作系统的世界里,Linux以其卓越的稳定性和可靠性著称,成为服务器、嵌入式系统乃至个人电脑用户的首选。那么,是什么造就了Linux如此之高的稳定性呢?本文将深入解析Linux系统稳定性的几个关键因素,揭示其背后的技术哲学与实践。 1. 开源协作的力量Linux是一个开源项目,意味着任何人都可以查看、修改和贡献其源代码。这种开放性吸引了全球成千上万的开发者参与到内核的维护与优化中,形成了

Steam邮件推送内容有哪些?配置教程详解!

Steam邮件推送功能是否安全?如何个性化邮件推送内容? Steam作为全球最大的数字游戏分发平台之一,不仅提供了海量的游戏资源,还通过邮件推送为用户提供最新的游戏信息、促销活动和个性化推荐。AokSend将详细介绍Steam邮件推送的主要内容。 Steam邮件推送:促销优惠 每当平台举办大型促销活动,如夏季促销、冬季促销、黑色星期五等,用户都会收到邮件通知。这些邮件详细列出了打折游戏、

PS系统教程25

介绍软件 BR(bridge) PS 配套软件,方便素材整理、管理素材 作用:起到桥梁作用 注意:PS和BR尽量保持版本一致 下载和安装可通过CSDN社区搜索,有免费安装指导。 安装之后,我们打开照片只需双击照片,就自动在Ps软件中打开。 前提:电脑上有PS软件 三种预览格式 全屏预览 评星级 直接按数字键就可以 方向键可以更换图片 esc退出 幻灯片放

风水研究会官网源码系统-可展示自己的领域内容-商品售卖等

一款用于展示风水行业,周易测算行业,玄学行业的系统,并支持售卖自己的商品。 整洁大气,非常漂亮,前端内容均可通过后台修改。 大致功能: 支持前端内容通过后端自定义支持开启关闭会员功能,会员等级设置支持对接官方支付支持添加商品类支持添加虚拟下载类支持自定义其他类型字段支持生成虚拟激活卡支持采集其他站点文章支持对接收益广告支持文章评论支持积分功能支持推广功能更多功能,搭建完成自行体验吧! 原文

响应式架构

介绍 响应式架构(Reactive Architecture)是一种面向服务和事件的系统设计方法,旨在提高系统的可扩展性、弹性和容错能力。它适用于构建分布式系统,特别是在云环境和微服务架构中。响应式架构的核心理念是通过事件驱动和数据流来实现各个组件之间的解耦,从而提高整个系统的响应能力和可靠性。 响应式架构的主要特点包括: 响应性:系统能够快速响应外部事件和内部变化,确保在各种负载和故障情

Django 路由系统详解

Django 路由系统详解 引言 Django 是一个高级 Python Web 框架,它鼓励快速开发和干净、实用的设计。在 Django 中,路由系统是其核心组件之一,负责将用户的请求映射到相应的视图函数或类。本文将深入探讨 Django 的路由系统,包括其工作原理、配置方式以及高级功能。 目录 路由基础URL 映射路由参数命名空间URL 反向解析路由分发include 路由路由修饰符自

【图像识别系统】昆虫识别Python+卷积神经网络算法+人工智能+深度学习+机器学习+TensorFlow+ResNet50

一、介绍 昆虫识别系统,使用Python作为主要开发语言。通过TensorFlow搭建ResNet50卷积神经网络算法(CNN)模型。通过对10种常见的昆虫图片数据集(‘蜜蜂’, ‘甲虫’, ‘蝴蝶’, ‘蝉’, ‘蜻蜓’, ‘蚱蜢’, ‘蛾’, ‘蝎子’, ‘蜗牛’, ‘蜘蛛’)进行训练,得到一个识别精度较高的H5格式模型文件,然后使用Django搭建Web网页端可视化操作界面,实现用户上传一

大型网站架构演化(六)——使用反向代理和CDN加速网站响应

随着网站业务不断发展,用户规模越来越大,由于中国复杂的网络环境,不同地区的用户访问网站时,速度差别也极大。有研究表明,网站访问延迟和用户流失率正相关,网站访问越慢,用户越容易失去耐心而离开。为了提供更好的用户体验,留住用户,网站需要加速网站访问速度。      主要手段:使用CDN和反向代理。如图。     使用CDN和反向代理的目的都是尽早返回数据给用户,一方面加快用户访问速