热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

深入浅出:边缘云计算与CDN技术原理及架构快速指南

随着各类门户网站、短视频平台、剧集播放和在线教育等互联网内容生态的迅猛发展,网络流量呈现爆炸性增长。为提升用户体验,边缘云计算与CDN(内容分发网络)技术应运而生。这些技术通过在靠近用户的位置部署节点,有效降低了数据传输延迟,提高了内容加载速度,确保用户能够通过手机或电脑流畅访问互联网资源。此外,边缘计算还能够在本地处理部分数据,进一步减轻核心网络的压力,优化整体网络性能。

作者:辰舒

背景

当下,各类门户网站、短视频、剧集观看、在线教育等内容生态疾速倒退,互联网流量出现爆发式增长。在凑近用户的中央就有CDN节点,用户通过手机或PC畅快浏览网页、视频、图片时,都须要CDN提供减速。作为经验二十多年倒退的技术,CDN已成为撑持互联网产业凋敝以及数字经济疾速倒退的重要基础设施。

本文将为您介绍「CDN 原理」以及「CDN 在用户体验的晋升中施展了什么样的作用」

传统网络散发面临的瓶颈与挑战

CDN 并不是互联网诞生之初就始终存在的,而是在撑持各类互联网业务高速倒退的过程中应运而生并一直发展壮大的。未应用 CDN 减速时,大量用户申请须要穿梭互联网骨干网能力获取源站内容,内容散发常面临着以下几项挑战:

  • 用户间隔源站间隔较远,网络链路易拥塞,长距离传输对终端体验并不敌对,易呈现卡顿、慢速问题。
  • 源站部署在复线(单个运营商)机房时,跨运营商拜访品质差。
  • 源站部署在 BGP /多线机房时,带宽的老本低廉,且固定进口带宽时易成为服务瓶颈,突发流动须要扩容。
  • 内容散发业务须要投入高老本进行服务器配置扩容,并且随同高并发业务保护的人力老本。

而在业务应用 CDN 减速后,用户能够就近在边缘 IDC 节点下载到所需内容,极大地晋升了用户体验,不仅让业务内容散发效率晋升,也分担了源站的负载压力,使得源站服务聚焦于对非动态内容的业务解决,可能更加从容高空对突发业务带宽。通过智能回源进口抉择,也可能防止复线机房跨运营商拜访造成的不稳定性。

同时,相比 BGP 机房的带宽单价,CDN 将散发内容产生的流量老本升高到极致,同时通过选购 CDN 资源包还可享受更多优惠。

CDN 是什么

互联网内容的散发模式与传统商品货物的散发模式有许多共通之处,在介绍 CDN 是什么之前,咱们无妨思考一下是哪些因素让日常生活的购买效率更高,时效性更强?

  • 首先,交通工具的便当及路线基建能力的晋升,运输效率晋升,让货物运输速度更快。
  • 其次,仓储物流能力的建设,货物在多地仓库分布式仓储,位于同地区的多个超市便利店可抉择从本地仓库间接进货,而顾客也能够间接在家门口的超市便利店购买所需商品,无需用户和源头生产厂商间接实现订单交易。
  • 最初,售卖点的数量、覆盖范围的扩张也都为购买过程带来了体验上的改善,每个小区门口甚至单元楼都曾经笼罩了便民超市,现在最近间隔商品交易只需从身边的主动贩卖机就可能实现。

CDN的全称是Content Delivery Network,即内容散发网络。CDN是构建在现有网络根底之上的智能虚构网络,依附部署在各地的边缘服务器,通过核心平台的负载平衡、内容散发、调度等功能模块,使用户就近获取所需内容,升高网络拥塞,进步用户拜访响应速度和命中率。

如何更艰深地去了解 CDN 是什么呢,咱们也无妨尝试用购买效率晋升的思路来帮忙了解:CDN 在网络上的作用就像事实中用户身边的主动贩卖机、家门口的超市、各地的集中仓储,让用户能够最近间隔很快捷的获取所需商品。

从技术视角了解,CDN 通过多级代理服务器对源站内容(例如 js/css/html/mp4 等)进行缓存,让动态内容缓存在间隔用户更近的 IDC 机房节点上,实现用户获取资源的网络间隔大幅度缩减,进而晋升终端用户体验和传输效率。

CDN 架构和拜访流程

如果要实现对寰球业务的散发减速,天然须要海量节点储备用于给终端用户提供服务,而作为一个全球化的分布式系统,CDN 对系统性能和稳定性有十分高的要求,以后阿里云 CDN 次要由调度零碎、链路品质零碎、缓存零碎、撑持零碎等子系统组成,这些子系统独特形成了 CDN 大脑神经网络来保障 CDN 的日常服务。

  • 调度零碎:反对策略核心、DNS、HTTPDNS和302调度模式。当终端用户发动拜访申请时,用户的拜访申请会先进行域名DNS解析,调度零碎将依据用户解析申请中携带的 IP 地址判断其区域、运营商,为用户抉择并返回最佳接入节点 IP (DNS 未携带客户端 IP 时,调度依据DNS IP决策)。
  • 链路品质零碎:实时监测缓存零碎中所有节点和链路的实时负载以及健康状况。调度零碎在决策最优节点时,也会综合链路品质、实时负载等因素来为用户调配服务节点。
  • 缓存零碎:用户通过收到的最佳接入节点 IP 拜访对应的缓存节点,如果节点曾经缓存了用户申请的资源,会间接将资源返回给用户。
  • 撑持零碎:撑持服务零碎包含监测零碎、数据智能和配置管理系统,别离具备了资源监测、数据分析和配置管理能力。

创立 CDN 减速域名后,CDN 将为您的减速域名调配 CNAME 记录值,您须要将域名解析至 CNAME 记录后能力接入CDN的智能调度零碎。在正式接入 CDN 后,终端用户拜访时通过的流程大抵如下:

  1. 本机 DNS 发动对拜访域名的解析查问,减速域名权威DNS将响应您所配置的 CNAME 地址,DNS 持续对CNAME 记录发动查问后,解析后果将依据阿里云调度零碎决策,从权威 DNS 中返回最优节点 IP 地址。
  2. 用户本地发动和节点 IP 的建联,建联后开始发送 HTTP 申请,此时拜访节点为边缘节点(L1),如果 L1 节点已缓存了用户申请的文件,L1 将间接返回缓存内容给用户,此时申请完结。
  3. 如果边缘节点(L1)没有该文件的缓存,将回源至下层节点(L2)获取资源,如果 L2 节点已缓存用户申请的文件,将间接返回缓存内容给L1,L1响应给用户并将文件缓存到本地,此时申请完结。
  4. 如果 L2 节点也没有用户所申请的文件,L2 节点将依据您在CDN管制台上的配置,回源到您的业务源站拉取资源返回给 L1 ,并将文件缓存到 L2 本地,此时申请完结。

目前,阿里云在寰球领有2800+节点,笼罩70多个国家和地区,全网带宽输入能力达150+Tbps。阿里云CDN产品通过宽泛的地区笼罩和深厚的带宽储备,在寰球范畴为用户提供平安、稳固、牢靠的内容散发服务。


推荐阅读
  • 深入解析BookKeeper的设计与应用场景
    本文介绍了由Yahoo在2009年开发并于2011年开源的BookKeeper技术。BookKeeper是一种高效且可靠的日志流存储解决方案,广泛应用于需要高性能和强数据持久性的场景。 ... [详细]
  • 本文探讨了2019年前端技术的发展趋势,包括工具化、配置化和泛前端化等方面,并提供了详细的学习路线和职业规划建议。 ... [详细]
  • Barbican 是 OpenStack 社区的核心项目之一,旨在为各种环境下的云服务提供全面的密钥管理解决方案。 ... [详细]
  • 本文探讨了Web开发与游戏开发之间的主要区别,旨在帮助开发者更好地理解两种开发领域的特性和需求。文章基于作者的实际经验和网络资料整理而成。 ... [详细]
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
  • 性能测试工具的选择与应用
    本文探讨了性能测试工具的重要性及其在软件测试中的作用,重点介绍了选择合适性能测试工具的考量因素,并对几种常用的性能测试工具进行了对比分析。 ... [详细]
  • 本文探讨了随着并发需求的增长,MySQL数据库架构如何从简单的单一实例发展到复杂的分布式系统,以及每一步演进背后的原理和技术解决方案。 ... [详细]
  • 通常情况下,修改my.cnf配置文件后需要重启MySQL服务才能使新参数生效。然而,通过特定命令可以在不重启服务的情况下实现配置的即时更新。本文将详细介绍如何在线调整MySQL配置,并验证其有效性。 ... [详细]
  • 本文详细介绍了 phpMyAdmin 的安装与配置方法,适用于多个版本的 phpMyAdmin。通过本教程,您将掌握从下载到部署的完整流程,并了解如何根据不同的环境进行必要的配置调整。 ... [详细]
  • Python自动化测试入门:Selenium环境搭建
    本文详细介绍如何在Python环境中安装和配置Selenium,包括开发工具PyCharm的安装、Python环境的设置以及Selenium包的安装方法。此外,还提供了编写和运行第一个自动化测试脚本的步骤。 ... [详细]
  • 本文详细介绍了如何利用Go语言和WebSockets技术构建一个高效的实时聊天系统。随着网络应用的日益复杂化,实时交互成为了提升用户体验的关键要素之一。通过本指南,开发者可以学习到最新的技术和最佳实践。 ... [详细]
  • 深入解析Hadoop的核心组件与工作原理
    本文详细介绍了Hadoop的三大核心组件:分布式文件系统HDFS、资源管理器YARN和分布式计算框架MapReduce。通过分析这些组件的工作机制,帮助读者更好地理解Hadoop的架构及其在大数据处理中的应用。 ... [详细]
  • 本文探讨了现代分布式架构的多样性,包括高并发、多活数据中心、容器化、微服务、高可用性和弹性架构等,并介绍了与这些架构相关的重要管理技术,如DevOps、应用监控和自动化运维。文章还深入分析了分布式系统的核心概念、主要用途及类型,同时对比了单体应用与分布式服务化的优缺点。 ... [详细]
  • Asp.net MVC 中 Bundle 配置详解:合并与压缩 JS 和 CSS 文件
    本文深入探讨了 Asp.net MVC 中如何利用 Bundle 功能来合并和压缩 JavaScript 和 CSS 文件,提供了详细的配置步骤和示例代码,适合开发人员参考学习。 ... [详细]
  • 本文深入探讨Java编程语言的关键特性,包括但不限于其简洁性、强大的面向对象能力、跨平台兼容性、安全机制、高效性能及多线程支持等方面。文章旨在为开发者提供全面理解Java特性的指导。 ... [详细]
author-avatar
迷彩三角裤_625
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有