CDN技术学习笔记

参考资料

[CDN内容分发网络架构与四大关键技术]

[腾讯云论坛-说说CDN技术]

[阿里云CDN技术演进]

[阿里云技术揭秘]

架构

1. 中心

 1. 1 CDN网管中心

不仅能对系统中的各个子系统和设备进行实时监控,对各种故障产生相应的告警,还可以实时监测到系统中总的流量和各节点的流量,并保存在系统的数据库中,使网管人员能够方便地进行进一步分析。通过完善的网管系统,用户可以对系统配置进行修改。

 1.2 DNS重定向解析中心

2. 节点(1节点=1个SLB+N个Cache)

 2.1 SLB(负载均衡设备)

负载均衡设备负责每个节点中各个Cache的负载均衡,保证节点的工作效率;同时,负载均衡设备还负责收集节点与周围环境的信息,保持与全局负载DNS的通信,实现整个系统的负载均衡。

 2.2 高速Cache服务器

高速缓存服务器(Cache)负责存储客户网站的大量信息,就像一个靠近用户的网站服务器一样响应本地用户的访问请求。

关键技术

1.内容路由技术

 1.1 GSLB

全局负载均衡(GSLB)主要的目的是在整个网络范围内将用户的请求定向到最近的节点(或者区域)即就近性判断。
有静态配置和动态配置两种方法。

 1.2 SLB

本地负载均衡一般局限于一定的区域范围内,其目标是在特定的区域范围内寻找一台最适合的节点提供服务,因此,CDN节点的健康性、负载情况、支持的媒体格式等运行状态是本地负载均衡进行决策的主要依据。

为了执行有效决策,SLB需要实时地获取Cache设备的运行状态。有主动探测(ping)和协议交互(根据事先定义好的协议实时交换)两种方法。

2. 内容分发技术

 2.1 PUSH分发

内容从源/中心——>边缘的Cache节点——>用户

分发的内容由cp(内容提供商)或CDN管理人员或智能方式来决定,一般来说是比较热点的内容(个人理解是请求最多或必要的请求文件)

 2.2 PULL回源

当用户请求的内容在节点的Cache没有,就由该用户请求,驱动Cache从源或其他节点获取

过程是用户请求——>节点Cache——>源

3. 内容存储技术

 3.1 内容源的存储

内容规模、吞吐量较大,通常采用海量存储架构

 3.2 Cache节点的存储

在功能上要考虑:对各种内容格式的支持(要求存储系统根据不同文件格式的读写特点进行优化,以提高文件内容读写的效率)、对部分缓存的支持

在性能上要考虑:支持的容量、多文件吞吐率、可靠性(RAID?)、稳定性

4. 内容管理技术

 4.1 本地内容索引
 4.2 本地内容拷贝
 4.3 本地内容访问状态信息收集

内容管理在广义上涵盖了从内容的发布、注入、分发、调整、传递等一系列过程,重点是内容在进入Cache节点后的内容如何管理

时间: 2024-08-26 06:05:24

CDN技术学习笔记的相关文章

Java多线程技术学习笔记(二)

目录: 线程间的通信示例 等待唤醒机制 等待唤醒机制的优化 线程间通信经典问题:多生产者多消费者问题 多生产多消费问题的解决 JDK1.5之后的新加锁方式 多生产多消费问题的新解决办法 sleep和wait的区别 停止线程的方式 守护线程 线程的其他知识点 一.线程间的通信示例 返目录回 多个线程在处理同一资源,任务却不同. 假设有一堆货物,有一辆车把这批货物往仓库里面运,另外一辆车把前一辆车运进仓库的货物往外面运.这里货物就是同一资源,但是两辆车的任务却不同,一个是往里运,一个是往外运. 下面

程序员编程技术学习笔记——字符串包含

程序员编程技术学习笔记--字符串包含 1.题目描述 给定两个分别由字母组成的字符串A和字符串B,字符串B的长度比字符串A短.请问,如何最快地判断字符串B中所有字母是否都在字符串A里?为了简单起见,我们规定输入的字符串只包含大写英文字母,请实现函数boolStringContains(string &A, string &B) 比如,如果是下面两个字符串: String 1:ABCD String 2:BAD 答案是true,即String2里的字母在String1里也都有,或者说Strin

程序员编程技术学习笔记——左旋转字符串

程序员编程技术学习笔记--左旋转字符串 1.    题目描述 给定一个字符串,要求把字符串前面的若干个字符移动到字符串的尾部,如把字符串"abcdef"前面的2个字符'a'和'b'移动到字符串的尾部,使得原字符串变成字符串"cdefab".请写一个函数完成此功能,要求对长度为n的字符串操作的时间复杂度为 O(n),空间复杂度为 O(1). 2.    解法1:暴力左移 这个解法简单粗暴易想!你不是要以为k个字符吗,我先移动一位,然后把移动一位的函数运行k次就好啦~~

Java多线程技术学习笔记(一)

目录: 概述 多线程的好处与弊端 JVM中的多线程解析 多线程的创建方式之一:继承Thread类 线程的状态 多线程创建的方式之二:实现Runnable接口 使用方式二创建多线程的好处 多线程示例 线程安全问题现象 线程安全问题产生的原因 同步代码块 同步的好处与弊端 同步的前提 同步函数 验证同步函数的锁 单例模式的线程安全问题的解决方案 死锁示例 一.概述 目录 首先得了解进程,打开我们电脑的windows资源管理器,可以直观看到进程的样子: 进程直观上理解就是正在进行的程序.而每个进程包含

U盾技术学习笔记

这几天学习U盾相关的技术,以自己的理解表述一遍. U盾是用于网上银行电子签名和数字认证的工具.内置智能卡处理器,采用1024位非对称密钥算法对网上数据进行加密.解密和数字签名.确保网上交易的保密性.真实性.完整性.不可否认性. 本文以甲方向乙方网上发送一份合同文件为例,结合U盾,讲述保证数据安全的流程. 1.  保密性 数据的保密性是保证数据安全的最基本的特性,甲方向乙方网上发送一份合同文件,必须保证合同内容不被其他人查看.这里可以采取一些数据加密算法,目前成熟的对称加密算法有3DES.DES.

直播技术学习笔记(一)

播放器相关技术: 1.开源项目jjdxm_ijkplayer是基于ijkplayer简单的UI界面: ijkplayer是一个基于 FFmpeg n2.6 的开源 Android/iOS 视频播放器: 2.虚拟按键的隐藏方法: rootView = getLayoutInflater().from(this).inflate(R.layout.activity_calrity,null); setContentView(rootView); /**虚拟按键的隐藏方法*/ rootView.get

AIX PowerPC体系结构及其溢出技术学习笔记

一. 熟悉PowerPC体系及其精简指令集计算 PowerPC体系结构是RISC(精简指令集计算),定义了 200 多条指令.PowerPC 之所以是 RISC,原因在于大部分指令在一个单一的周期内执行,而且是定长的32位指令,通常只执行一个单一的操作(比如将内存加载到寄存器,或者将寄存器数据存储到内存).差不多有12种指令格式,表现为5类主要的指令: 1.分支(branch)指令 2.定点(fixed-point)指令 3.浮点(floating-point)指令 4.装载和存储指令 5.处理

数通技术学习笔记

Day 1 SOHO--Small office(and) Home office 家居办公 大多指那些专门的自由职业者 ISP(Internet Service Provider),互联网服务提供商,即向广大用户综合提供互联网接入业务.信息业务.和增值业务的电信运营商,能提供拨号上网服务.网上浏览.下载文件.收发电子邮件等服务,是网络最终用户进入Internet的入口和桥梁.它包括Internet接入服务和Internet内容提供服务.这里主要是Internet接入服务,即通过电话线把你的计算

各类技术学习笔记

1.C#的执行是同步的 2.JavaScript的执行是异步的 3.C#多线程的使用需注意多线程的同步 4.有数据的存储就涉及到数据的检索(例如:C#集合(Collection):数据库) 5.同步调用也可以叫阻塞调用,它将阻塞当前线程,然后执行调用,调用完毕后再继续向下进行.委托的同步调用通过Invoke方法来实现(C#) 6.异步调用不阻塞线程,而是把调用塞到线程池中,程序主线程或UI线程可以继续执行.委托的异步调用通过BeginInvoke和EndInvoke来实现(C#) 7.委托(De