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的工做原理
- 用户alice发送url请求到DNS路由,路由会找寻最佳的POP位置,通常是地理最靠近用户的POP
- 若是POP中的边缘服务器在其缓存中没有文件,POP从源服务器请求文件,源服务器能够是web应用、云服务
- 源服务器将文件返回到POP中的边缘服务器
- POP中的边缘服务器缓存文件并将文件返回到Alice,经过HTTP标头能够指定文件生存周期
- 其余用户则会使用Alice同一个URL请求,指到最近的POP
- 若是TTL文件未过时,POP会边缘服务器直接缓存,速度更快,响应更及时
建立CDN配置文件(域名组)
- 建立CDN节点以前须要建立CDN配置文件,如今叫作CDN域名组
域名组的名称必须为azure全局惟一,而后选择一个订阅选择资源组,订价层是CDN的服务提供商,Azure的海外CDN供应商主要有 Akamai和Verizon ,固然微软也有CDN服务,这个看客户的选择,CDN是须要配置文件进行配置的,Akamai的配置文件能够在建立CDN终结点后更改其优化设置,可是verizon的配置文件没法在建立CDN终结点后更改优化设置。资源的位置目前是默认选择的。
- 而后选择建立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节点
- 首先选中CDN域名组,而后选择“终结点”
- 设置终结点,名称是全局惟一,原点类型包括可使用azure的自带服务 存储 云服务 web应用,也可使用自定义原点,就是本身从运营商申请的域名,国内的话还须要ICP认证,
- 选择添加建立新节点,建立完成之后还能够添加自定义域,自定义域需用从运营商申请,有CNAME和A记录,CNAME和A记录的区别是一个是至关于用了别名,一个是运用域名映射到对应的IP
使用缓存规则控制Azure CDN缓存行为
缓存是什么?
缓存就是经过终结点多余的缓存空间,来更快的获取响应速度,若是没有CDN,用户浏览器和服务器的交互:
若是使用的CDN缓存交互
经过对比会发现,用户使用CDN之后会多了一层,其实浏览器本地也有缓存,客户浏览器会先检查本地缓存是否过时,若是过时,则会向CDN边缘节点发起请求,CDN边缘节点检测用户请求的数据缓存是否过时,若是没有过时直接响应用户请求,将数据返回给用户,若是过时,则先源站发出回源请求拉去最新数据。
Azure的CDN缓存机制
Azure CDN提供两种类型的缓存规则:
- 全局缓存规则:针对配置文件中的每一个终结点设置一个全局缓存规则,响应全部的终结点请求。
- 自定义缓存规则:针对配置文件的每一个终结点设置一个或多个自定义缓存规则,按照顺序处理,优先处理自定义缓存。
如何设置Azure CDN缓存
- 在终结点左侧选择缓存规则,缓存行为包括三种 替代、缺乏时设置、不适用缓存
绕过缓存:不缓存,并忽略源提供的缓存指令标头