您的位置:首页 > 运维架构 > 网站架构

CDN网站加速技术

2017-09-19 15:01 225 查看

什么是CDN?

CDN(Content Delivery Network 内容分发网络)技术通过在各个地区部署缓存节点加速用户对静态资源的获取速度,提升用户体验,降低运营成本。CDN公司有网宿(ChinaNet)、蓝讯(ChinaCache)等

CDN的基本架构和访问流程

企业使用CDN的准备: 1.静态资源有独立的域名 2.删除授权DNS服务器A记录,添加CNAME记录 3.在CDN后台进行域名绑定   用户访问CDN的过程: 1.用户查询本地DNS缓存,本地没有则请求LDNS查询,LDNS本地没有缓存则请求授权DNS解析; 2.授权DNS返回CNAME记录; 3.LDNS请求CDN公司的智能DNS系统解析CNAME别名; 4.智能DNS返回A记录,LDNS返回IP给用户; 5.用户根据IP请求静态资源,Cache节点本地有缓存则返回资源; 6.若Cache节点本地无缓存则请求源站,源站返回资源后Cache节点再返回给用户。 简单概括:用户通过两轮DNS查询获得IP,访问Cache节点获得资源。

CDN实现的核心技术

1.DNS视图技术: DNS视图技术,就是对同一个域名根据请求来源(LDNS)IP地址的不同返回不同的解析结果。
#BIND视图技术(DNS View)
#定义用户来源
vim public.def

acl "SD_CTC" {
58.56.0.0/15;
58.58.0.0/16;
60.235.0.0/16;
123.168.0.0/14;
...
}

#匹配IP来源,设置不同域名解析文件
vim view.def

include "public.def";
view "view_SD_CTC" {
match-clients {
SD_CTC;
};
zone "cache.com" IN {
type master;
file "zone/cache.zone";
}
}

vim named.conf

include view.def;
2.CDN集群缓存和代理技术 LVS负载均衡使用DR模式达到高并发高吞吐量,同时屏蔽后面的Nginx反向代理服务器; Nginx使用反向代理(Upstream)功能,采用url_hash方式分发流量,提高缓存的命中率同时节约缓存空间; Squid缓存服务器根据HTTP协议中有关缓存设置的规定,实现对页面和资源进行缓存以及对源站的代理。关于HTTP头部信息中的缓存规则,下次有机会再单独聊。    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: