Azure CDN概述

 
Azure CDN(内容分发网络)是一种用于分发高带宽内容的全球CDN解决方案,它可以托管在Azure中,也可以通过在任何其他位置,借助Azure CDN,可以托管到任何其他位置,通过距离最近的POP服务器来缓存Azure Blob存储、Web应用程序或者任何可公开访问的Web服务器加载的静态对象,Azure CDN也可以通过利用各种网络和路由优化来加速不能缓存的动态内容。
 
CDN的目的是最大程度的降低网络延迟,通过在世界各地按照特定策略放置的物理节点缓存内容来快速分发高带宽内容,此外还可以通过CDN POP来利用网络优化措施,加速不能缓存的动态内容交付。
 

Azure CDN的优点

 
全球覆盖:全球2100+个节点,六大洲以及国内主流运营商覆盖
 
卓越性能:BGP网络中间层,有效消除运营商屏障,提升回源效率,降低源站压力,边缘CDN分级存储,应对海量并发访问
 
安全稳定:智能理由技术实现节点的动态监控和智能调度
 
深度集成多种Azure云服务:包括应用服务、存储服务、媒体服务等
 

Azure CDN功能和用途

 
网站加速:自动识别内容热度并进行分级存储,通过热点文件缓存到内存及SSD,满足资讯类、图片社交类的高并发静态内容加速
 
下载点播加速:集成内容上传、存储、分发一体化服务,降低源站压力和带宽成本
 
视频直播加速:支持RTMP HTTP等主流直播协议,提供内容存储、切片转码、鉴黄鉴暴完整解决方案,同时支持万路互动直播
 
HTTPS安全加速:支持HTTPS传输协议,避免内容遭受劫持和篡改,保障数据安全性,满足电商、金融、银行等场景需求
 
 

CDN的工作原理

 
 
  1. 用户alice发送url请求到DNS路由,路由会找寻最佳的POP位置,一般是地理最靠近用户的POP
  2. 如果POP中的边缘服务器在其缓存中没有文件,POP从源服务器请求文件,源服务器可以是web应用、云服务
  3. 源服务器将文件返回到POP中的边缘服务器
  4. POP中的边缘服务器缓存文件并将文件返回到Alice,通过HTTP标头可以指定文件生存周期
  5. 其他用户则会使用Alice同一个URL请求,指到最近的POP
  6. 如果TTL文件未过期,POP会边缘服务器直接缓存,速度更快,响应更及时
 

创建CDN配置文件(域名组)

 
  1. 创建CDN节点之前需要创建CDN配置文件,现在叫做CDN域名组
域名组的名称必须为azure全局唯一,然后选择一个订阅选择资源组,定价层是CDN的服务提供商,Azure的海外CDN供应商主要有 Akamai和Verizon ,当然微软也有CDN服务,这个看客户的选择,CDN是需要配置文件进行配置的,Akamai的配置文件可以在创建CDN终结点后更改其优化设置,但是verizon的配置文件无法在创建CDN终结点后更改优化设置。资源的位置目前是默认选择的。
 
  1. 然后选择创建CDN,创建后配置文件通常在两个小时内完成
  
 

关于CDN行业Akamai和Verizon的简要介绍

 
Akamai可以说是CDN行业的鼻祖,目前也是全球第一家CDN提供商,akamai以稳定性著称,最近十多年全球几乎没有发生过网络故障,电商企业的发展助力的akami公司的腾飞,akamai也从静态网页加速到web内容分发,从网络加速到云安全和边缘计算的开发,目前akamai的主要客户包括 adobe 、 airbnb、best buy、CNTV、华硕、Autodesk等著名企业,业务遍布全球。
 
Verizon是美国最大移动运营商威瑞森是由美国原来的两家运营公司,大西洋贝尔和Nynex合并后建立,目前是梦游本土最大电话公司、最大无线运营通信公司,于2013年收购了edgecast,edgecast是全球性的CDN服务提供商,主要通过弹性灵活的CDN计价模式,没有固定的带宽合同,美国著名的体育频道ESPN就是edgecast的客户,虽然客户包括linkin 、IMAX等客户,但是主要目标还是小型公司,与akamai的主要区别是akamai大搞基础设施建设,edgecast使用很多边缘计算的设备来进行节点加速,腾讯的部分海外CDN使用的verizon。
 
创建CDN节点
 
  1. 首先选中CDN域名组,然后选择“终结点”
  1. 设置终结点,名称是全局唯一,原点类型包括可以使用azure的自带服务 存储 云服务 web应用,也可以使用自定义原点,就是自己从运营商申请的域名,国内的话还需要ICP认证,
  1. 选择添加创建新节点,创建完成以后还可以添加自定义域,自定义域需用从运营商申请,有CNAME和A记录,CNAME和A记录的区别是一个是相当于用了别名,一个是运用域名映射到对应的IP
 
 

使用缓存规则控制Azure CDN缓存行为

 
 

缓存是什么?

 
缓存就是通过终结点多余的缓存空间,来更快的获取响应速度,如果没有CDN,用户浏览器和服务器的交互:
 
 
如果使用的CDN缓存交互
 
 
 
 
通过对比会发现,用户使用CDN以后会多了一层,其实浏览器本地也有缓存,客户浏览器会先检查本地缓存是否过期,如果过期,则会向CDN边缘节点发起请求,CDN边缘节点检测用户请求的数据缓存是否过期,如果没有过期直接响应用户请求,将数据返回给用户,如果过期,则先源站发出回源请求拉去最新数据。
 
 

Azure的CDN缓存机制

 
Azure CDN提供两种类型的缓存规则:
  1. 全局缓存规则:针对配置文件中的每个终结点设置一个全局缓存规则,响应所有的终结点请求。
  2. 自定义缓存规则:针对配置文件的每个终结点设置一个或多个自定义缓存规则,按照顺序处理,优先处理自定义缓存。
 

如何设置Azure CDN缓存

  1. 在终结点左侧选择缓存规则,缓存行为包括三种 替代、缺少时设置、不适用缓存
    绕过缓存:不缓存,并忽略源提供的缓存指令标头
    替代:进行指定量的缓存
    缺少时设置:仅当源不发送缓存控制或不使响应标头过期进行指定量的缓存
  1. 缓存过期持续时间 0-365天,如果为0,CDN会缓存内容,但是每次会同源服务器校验
  2. 自定义缓存规则
匹配条件分为路径和扩展:
 
路径:就是匹配次路径下的URL,不包括域名
扩展:就是此条件匹配的所请求的文件的文件扩展名,可以使用逗号隔开,上限50个文件扩展名
 
 

Azure CDN 服务详解的更多相关文章

  1. 《CDN技术详解》 - CDN知多少?

    开发时间久了,就会接触到性能和并发方面的问题,如果说,在自己还是菜鸟的时候完全不用理会这种问题或者说有其他的高手去处理这类问题,那么,随着经验的丰富起来,自己必须要独立去处理了.或者,知道思路也行,毕 ...

  2. CDN技术详解及实现原理

    CDN技术详解 一本好的入门书是带你进入陌生领域的明灯,<CDN技术详解>绝对是带你进入CDN行业的那盏最亮的明灯.因此,虽然只是纯粹的重点抄录,我也要把<CDN技术详解>的精 ...

  3. CDN技术详解笔记

    1.影响网络传输的四个因素(1)“第一公里”:网站服务器接入互联网的链路所能提供的带宽.(2)“最后一公里”:用户接入带宽.(3)对等互联关口:不同网络之间的互联互通带宽.(4)长途骨干传输:首先是长 ...

  4. Windows Azure Storage (18) 使用HTML5 Portal的Azure CDN服务

    <Windows Azure Platform 系列文章目录> Update:2015-04-15 如果读者使用的是国内由世纪互联运维的Azure China服务,请参考笔者的文档:Azu ...

  5. winxp计算机管理中服务详解

    winxp计算机管理中服务详解01 http://blog.sina.com.cn/s/blog_60f923b50100efy9.html http://blog.sina.com.cn/s/blo ...

  6. Android中Service(服务)详解

    http://blog.csdn.net/ryantang03/article/details/7770939 Android中Service(服务)详解 标签: serviceandroidappl ...

  7. WCF中队列服务详解

    WCF中队列服务详解 一.引言 在前面的WCF服务中,它都要求服务与客户端两端都必须启动并且运行,从而实现彼此间的交互.然而,还有相当多的情况希望一个面向服务的应用中拥有离线交互的能力.WCF通过服务 ...

  8. 【转】SSH服务详解

    [转]SSH服务详解 第1章 SSH服务 1.1 SSH服务协议说明 SSH 是 Secure Shell Protocol 的简写,由 IETF 网络工作小组(Network Working Gro ...

  9. (转)SSH服务详解

    SSH服务详解 原文:http://www.cnblogs.com/clsn/p/7711494.html 第1章 SSH服务1.1 SSH服务协议说明SSH 是 Secure Shell Proto ...

随机推荐

  1. RNN教程之-2 LSTM实战

    前言 说出来你们不敢相信,刚才码了半天的字,一个侧滑妈的全没了,都怪这Mac的触摸板太敏感沃日.好吧,不浪费时间了,前言一般都是废话,这个教程要解决的是一个LSTM的实战问题,很多人问我RNN是啥,有 ...

  2. install golang plugin in webstrom

    https://github.com/go-lang-plugin-org/go-lang-idea-plugin/wiki/Documentation

  3. 批处理文件执行cmd命令

    @echo offstart "wumin" "C:\Windows\System32\cmd.exe" osk taskkill /f /im cmd.exe ...

  4. 项目中的小点_java项目某jsp页面报404

    1.将项目文件夹直接放在tomcat服务器的webapps路径下 2.从一个tomcat服务器webapps下拷贝一个项目到另一个tomcat服务器webapps路径下 3.重启tomcat后,访问新 ...

  5. 【Edit Distance】cpp

    题目: Given two words word1 and word2, find the minimum number of steps required to convert word1 to w ...

  6. android抓取logcat日志的方法

    这几天帮忙测试一个APP,报告结果需要提交日志文件,于是百度了下安卓的获取日志方法,其实很简单,7个步骤搞定,下面把我的总结分享给大家. 1.下载adb工具包 https://pan.baidu.co ...

  7. Python-S9-Day89_stark总结

    01 Stark总结 02 ORM总结 03 上节作业 04 Stark组件之查看页面表头 05 list_display_links 06 stark组件之添加页面 07 编辑删除页面 01 Sta ...

  8. Linux 的日常 tools

    Linux基础命令里的就不再赘述了. Table of Contents 一.下载(命令行工具,只给出常用的命令说明) wget/cURL(一般系统自带) aria2/axel多线程下载 1. ari ...

  9. c++ 中double与string之间的转换,char *

    运行代码为 /* * main.cpp * * Created on: Apr 7, 2016 * Author: lizhen */ #include <iostream> //#inc ...

  10. maven学习(十五)——在eclipse中使用maven创建javaweb项目

    一.创建Web项目 1.1 选择建立Maven Project 选择File -> New ->Project,如下图所示: