CDN分发回源流程简单介绍

liuzhen007 等级 361 0 0

目录

前言

正文

前言

CDN的全称是“Content Delivery Network”,中文叫内容分发网络。CDN是一个经过策略性部署的整体系统,包括分布式存储、负载均衡、网络请求的重定向和内容管理四个重要部分,其中,内容管理和全局的网络流量管理(Traffic Management)是CDN的核心所在。通过对用户就近性和服务器负载的判断,CDN确保内容以一种极为高效的方式为用户的请求提供服务。

正文

很多网站为了提升响应速度一般都会采用CDN域名加速的方式,目前,本人在项目中用过的CDN服务有很多,其中包括网宿、阿里、腾讯、京东、帝联、蓝汛等。从实际效果和用户体验上来说,建议选前两个。(至于原因,说多了都是泪~~~)

一般对于一个需要加速的域名地址,我们需要提供给CDN一个对应的源站地址,比如想对A.com加速,那么我们还需要在自己的服务器上部署一个对应的A-src.com地址。其中,A-src.com的作用是用来给CDN回溯用的。当用户访问A.com域名时,CDN会就近从缓存服务器寻找对应的资源,如果没有,就会去上级缓存服务器寻找,如果还没有,就会去A-src.com源站请求资源,同时在经过的服务器进行缓存处理,用于下次用户访问使用。当然,这只是介绍一个简单的流程,实际使用过程中,还有很多复杂的算法和处理逻辑。

为了便于大家理解,下面列一张简单的流程图:

CDN分发回源流程简单介绍

收藏
评论区

相关推荐

IntentService使用以及源码分析
一 概述 我们知道,在Android开发中,遇到耗时的任务操作时,都是放到子线程去做,或者放到Service中去做,在Service中开一个子线程来执行耗时操作。 那么,在Service里面我们需要自己管理Service的生命周期,何时开启何时关闭,还是很麻烦的,还好Android给我们提供了一个这样的类,叫做IntentService 那么Intent
Retrofit 支持suspend函数源码分析
Retrofit 2.6.0 之后支持接口suspend函数配合协程使用,举个例子: ApiService java interface LoginApiService : BaseService { @GET("/wxarticle/chapters/json") suspend fun getChapters(): BaseResp
从面试角度分析ArrayList源码
注:本系列文章中用到的jdk版本均为java8 ArrayList类图如下: ArrayList的底层是由数组实现的,数组的特点是固定大小,而ArrayList实现了动
聊聊前端性能优化
为什么要做性能优化?性能优化有多重要?网站的性能对于用户的留存率、转化率有很大的影响,直白的说,提高网站的性能可以直接提高网站带来的收益。 性能优化的分类 前端的性能优化主要分为两类: 1. 加载时优化; 2. 运行时优化; 例如压缩文件、使用CDN加载静态资源属于加载时优化;及时的解绑事件、减少DOM的操作属于运行时优化。 吉
前端性能优化
为什么要做性能优化?性能优化有多重要?网站的性能对于用户的留存率、转化率有很大的影响,直白的说,提高网站的性能可以直接提高网站带来的收益。 性能优化的分类 前端的性能优化主要分为两类: 1. 加载时优化; 2. 运行时优化; 例如压缩文件、使用CDN加载静态资源属于加载时优化;及时的解绑事件、减少DOM的操作属于运行时优化。 吉
CDN分发回源流程简单介绍
目录前言正文 前言CDN的全称是“Content Delivery Network”,中文叫内容分发网络。CDN是一个经过策略性部署的整体系统,包括分布式存储、负载均衡、网络请求的重定向和内容管理四个重要部分,其中,内容管理和全局的网络流量管理(Traffic Management)是CDN的核心所在。通过对用户就近性和服务器负载的判断,CDN确保内容以
Vue源码起步
搞事!搞事! 截止2017.5.16,终于把vue的源码全部抄完,总共有9624行,花时大概一个月时间,中间迭代了一个版本(2.22.3),部分代码可能不一致,不过没关系! 上一个链接https://github.com/pflhm2005
Dubbo 源码分析 - 集群容错之Directory
注: 本系列文章已捐赠给 Dubbo 社区,你也可以在 Dubbo 中阅读本系列文章。1\. 简介前面文章分析了服务的导出与引用过程,从本篇文章开始,我将开始分析 Dubbo 集群容错方面的源码。这部分源码包含四个部分,分别是服务目录 Directory、服务路由 Router、集群 Cluster 和负载均衡 LoadBalance。这几个部分的源码逻辑比
Android AOSP基础(五)Android Studio调试系统源码的三种方式
AOSP基础 Android框架层本文首发于微信公众号「刘望舒」 前言作为应用开发,我们将AOSP源码下载下来后,去查看源码已经足够用,如果想更进一步,可以学习调试源码,这样有助于了解系统源码和原理。调试系统源码的方式有很多种,今天分享出来的是比较适合应用开发的三种,分别是AOSP源码项目调试、导入部分源码调试、新建Android项目调试。需要注意的是,这三
MyBatis 源码分析 - 插件机制
1.简介一般情况下,开源框架都会提供插件或其他形式的拓展点,供开发者自行拓展。这样的好处是显而易见的,一是增加了框架的灵活性。二是开发者可以结合实际需求,对框架进行拓展,使其能够更好的工作。以 MyBatis 为例,我们可基于 MyBatis 插件机制实现分页、分表,监控等功能。由于插件和业务无关,业务也无法感知插件的存在。因此可以无感植入插件,在无形中增强
MyBatis 源码分析 - 内置数据源
MyBatis 源码分析 内置数据源1.简介本篇文章将向大家介绍 MyBatis 内置数据源的实现逻辑。搞懂这些数据源的实现,可使大家对数据源有更深入的认识。同时在配置这些数据源时,也会更清楚每种属性的意义和用途。因此,如果大家想知其然,也知其所以然。那么接下来就让我们一起去探索 MyBatis 内置数据源的源码吧。MyBatis 支持三种数据源配置,分别
前端性能优化 - 雅虎军规
无论是在工作中,还是在面试中,web前端性能的优化都是很重要的,那么我们进行优化需要从哪些方面入手呢?可以遵循雅虎的前端优化35条军规,这样对于优化有一个比较清晰的方向. 35条军规1. 尽量减少 HTTP 请求个数——须权衡2. 使用 CDN(内容分发网络)3. 为文件头指定 Expires 或 CacheControl ,使内容具有缓存性。4. 避免空的
ThreadLocal源码分析
最近在学多线程并发的知识,发现好像ThreadLoca还挺重要,决定看看源码以及查找各方资料来学习一下。ThreadLocal能够提供线程的局部变量,让每个线程都可以通过set/get来对这个局部变量进行操作,不会和其它线程的局部变量进行冲突,实现了线程的数据隔离。首先是ThreadLocal的结构:每个Thread维护一个ThreadLocalMap,这个
给dubbo贡献源码,做梦都在修bug
本文已收录 https://github.com/lkxiaolou/lkxiaolou 欢迎star。 一在之前的文章《redis在微服务领域的贡献》中,从一次面试经历中了解了redis可以在微服务中玩的这么溜,同时也从源码角度分析了dubbo的redis注册中心。最后得出了dubbo的redis注册中心不能用于生产的结论,其中原因有如下两点: 使用了ke
Cobar源码分析之AST
本文已收录 https://github.com/lkxiaolou/lkxiaolou 欢迎star。 背景 CobarCobar是阿里开源的数据库中间件,关于它的介绍这里不再赘述,可以参考之前的文章 SQLSQL是一种领域语言(编程语言),常用于关系型数据库,方便管理结构化数据。数据库执行SQL时先对SQL进行词法分析、语法分析、语义分析生成抽象语法树(