CDN关键技术:
1. 缓存算法[Squid];
2. 分发能力;
3. 负载均衡[Nginx]
(4. 基于DNS[BIND]);
5. 支持协议;

缓存算法决定命中率、源服务器压力、POP节点存储能力
分发能力取决于IDC能力和IDC策略性分布
负载均衡(智能调度)决定最佳路由、响应时间、可用性、服务质量
基于DNS的负载均衡以CNAME实现[to cluster],智取最优节点服务,
缓存点有客户端浏览器缓存、本地DNS服务器缓存
缓存内容有DNS地址缓存、客户请求内容缓存、动态内容缓存
支持协议如静动态加速(图片加速、https带证书加速)、下载加速、流媒体加速、企业应用加速、手机应用加速

CDN提供一种机制,当用户请求内容时,该内容能够由以最快速度交付的Cache来向用户提供,这个挑选“最优”的过程就叫做负载均衡

从功能上看,典型的CDN系统由分发服务系统,负载均衡系统和运营管理系统组成
分发服务系统:最基本的工作单元就是Cache设备,cache(边缘cache)负责直接响应最终用户的访问请求,
把缓存在本地的内容快速地提供给用 户。
同时cache还负责与源站点进行内容同步,把更新的内容以及本地没有的内容从源站点获取并保存在本地。
Cache设备的数量、规模、总服务能力是衡 量一个CDN系统服务能力的最基本的指标–
负载均衡系统:主要功能是负责对所有发起服务请求的用户进行访问调度,确定提供给用户的最终实际访问地址。
两级调度体系分为全局负载均衡(GSLB)和本地负载均衡(SLB)。
GSLB主要根据用户就近性原则,通过对每个服务节点进行“最优”判断,确定向用户提供服务的cache的物理位置。
SLB主要负责节点内部的设备负载均衡
运营管理系统:
分为运营管理和网络管理子系统,负责处理业务层面的与外界系统交互所必须的收集、整理、交付工作,包含客户管理、产品管理、计费管理、统计分析等功能。

负责为用户提供内容服务的cache设备应部署在物理上的网络边缘位置,即CDN边缘层。
CDN系统中负责全局性管理和 控制的设备组成中心层(二级缓存),
中心层同时保存着最多的内容副本,当边缘层设备未命中时,会向中心层请求,
如果在中心层仍未命中,则需要中心层向源站 回源(如果是流媒体,代价很大)

CDN骨干点和CDN POP点在功能上不同,中心和区域节点一般称为骨干点,主要作为内容分发和边缘未命中时的服务点;
边缘节点又被称为POP(point of presence)节点,CDN POP点主要作为直接向用户提供服务的节点
应用协议加速:企业应用加速主要是动态加速和SSL加速

广域网应用加速:
SSL应用加速:由于需要大量的加密解密运算,SSL应用对服务器端的资源消耗是非常巨大的。
CDN提供SSL应用加速后,由CDN的专用SSL加速硬件来完成加密解密运算工作
网页压缩:HTTP1.1提出对网页压缩的支持。
在服务器端可以先对网页数据进行压缩,然后将压缩后的文件提供给访问用户,最后在用户浏览器端解压显示(但要衡量加解压时间)

备注:随笔中内容来源于网上资料整理,仅供参考。

CDN技术之--该技术概述的更多相关文章

  1. CDN 内容分发网络技术

    1.前言 Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加,用户数量也在不断增加,受Web服务器的负荷和传输距离等因 ...

  2. CDN(Content Delivery Network)技术原理概要

    简介 CDN(Content Delivery Network)即内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡.内容分发.调度等功能,使用户就近获取所需内容,提高用户访问响应速度和 ...

  3. 2019亚太内容分发大会,阿里云获CDN领袖奖、技术突破奖

    近日,亚太CDN产业联盟主办的2019亚太内容分发大会在上海召开.本次大会以"5G分发"为主题,集结了CDN领域近千名行业领袖.专家参与.在会上,阿里云斩获“CDN领袖奖”.“技术 ...

  4. JAVA基础之JSP与EL技术、JSTL技术

    要牢记jsp四大作用域(pageContext域:当前jsp页面范围      request域:一次请求   session域:一次会话   application域:整个web应用)以及九大内置对 ...

  5. Atitit.现在的常用gui技术与gui技术趋势评价总结

    Atitit.现在的常用gui技术与gui技术趋势评价总结 1. Gui俩种分类:  native 和 dsl 和 script1 2. 最好的跨平台gui技术h51 2.1. 几大技术体系(java ...

  6. 技术路线 vs 技术管理路线

    最近因为要给刚毕业的学生做一次演讲,所以就职业发展这类话题先以写博客的形式做一些思考,希望届时能给同学们带来质量更高的内容.我在<驾驭你的"职场布朗运动">一文中谈了2 ...

  7. 干货云集 WOT 2017全球架构与运维技术峰会揭密技术难点

    WOT,World Of Tech专注互联网IT技术领域,是一场不容错过的技术盛会!WOT 2017全球架构与运维技术峰会三大章节,15大技术专场,60+国内外一线互联网精英大咖站台,打造兼顾技术视野 ...

  8. 会话技术、Cookie技术与Session技术

    一.会话技术  1. 存储客户端状态 会话技术是帮助服务器记住客户端状态(区分客户端)的.  2. 会话技术 从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,称为一次会话.会话技术就是记录这 ...

  9. Java第三阶段学习(十三、会话技术、Cookie技术与Session技术)

    一.会话技术  1. 存储客户端状态 会话技术是帮助服务器记住客户端状态(区分客户端)的.  2. 会话技术 从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,称为一次会话.会话技术就是记录这 ...

  10. 6.19-response(响应),session(会话技术,服务器端技术) 内置对象,application(内置对象),pageContext (内置对象),cookie(客户端技术)

    一.response(响应) 页面重定向 response.sendRedirect(""); 转发: request.getRequestDispatcher("&qu ...

随机推荐

  1. flutter 中的AppBar

    在flutter中的很多页面中,都会有下面这段代码: 对应就是下图中的红色线框区域,被称作AppBar顶部导航. 项目准备 在使用AppBar之前,我们先新建一个tabBar的项目: 然后在pages ...

  2. rabbitmqadmin命令行管理工具-4

    rabbitmqadmin命令行管理工具原文地址: https://www.cnblogs.com/wuzhiyuan/p/6856985.htmlhttps://www.cnblogs.com/mr ...

  3. [CSP-S模拟测试]:字符消除2(hash+KMP)

    题目背景 生牛哥终于打通了“字符消除”,可是他又被它的续集难倒了. 题目传送门(内部题52) 输入格式 第一行$n$表示数据组书.接下来每行一个字符串.(只包含大写字母) 输出格式 每组数据输出一个$ ...

  4. python练习题返回列表中的第二小的元素的下标

    # 第三题:返回列表中的第二小的元素的下标 # 1.参数是一个列表,元素全部是整数 # 2.返回第二小的元素的下标 def seconde_min(lt): n = len(lt) if lt[0]& ...

  5. vector代替数组

    vector代替数组 1.声明一个int向量以替代一维的数组:vector <int> a;(等于声明了一个int数组a[],大小没有指定,可以动态的向里面添加删除). 2.用vector ...

  6. error C2872: ‘ofstream’ : ambiguous symbol

    转自VC错误:http://www.vcerror.com/?p=1123 问题描述: 编译时出现: error C2872: 'ofstream' : ambiguous symbol error ...

  7. 编译-构建Shell语法的语法树(parse tree)

    翻译自:Generating a parse tree from a shell grammar - DEV Community

  8. TestStack.White安装详解

    一.安装 NuGet TestStack.White是通过NuGet进行安装的.NuGet最低支持VS2010.我使用的VS2015. 安装方式一 :从Visual Studio的工具->扩展和 ...

  9. Linux系统ubuntu17安装jdk8并配置环境变量

    上班多年,一直没有真正在Linux下开发过,没有捣鼓到Linux服务器,成为憾事.最近由于想学习Python,于是开始看书,学习Linux,学习shell编程. 选择Linux,先从最简单的ubunt ...

  10. if语句基本结构以及基础案例演示

    1.结构 if(比较表达式1) { 语句体1; }else if(比较表达式2) { 语句体2; }else if(比较表达式3) { 语句体3; } ... else { 语句体n+1; } 2.执 ...