资源预览内容
第1页 / 共26页
第2页 / 共26页
第3页 / 共26页
第4页 / 共26页
第5页 / 共26页
第6页 / 共26页
第7页 / 共26页
第8页 / 共26页
第9页 / 共26页
第10页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Cdn设计与技术实现解决高并发访问的一种途径需求的产生o南北互联问题导致北方的用户访问电信网内 的服务器十分缓慢和艰难,南方的用户访问 网通网内的服务器也是如此o高并发、大流量的站点o访问加速常见的应用场景:一般用于静态对象o网站的页面加速o下载服务:类似杀毒软件有客户端自动更新 机制的下载,更需要cdno视频:特别是在线播放类型,如FLV传统的访问模式o所以的客户端访问同 一个对象众矢之的Cdn的访问模式o把用户请求分散Cdn定义-摘自http:/www.roxbeam.com/CDN/gn.htmoCDN的全称是Content Delivery Network,即内容分发网络,是位于网络 层与应用层之间的网络应用,其目的是通过 在现有的Internet中增加一层新的网络架构 ,通过智能的中心管理系统,使用广泛分布 的服务器群来帮助网站、媒体运营商等满足 用户的各类需求。 Cdn原理o内容缓存到不同地区的缓存服务器o就近访问原则oDns视图(view)区分用户的访问来源Cdn实现的技术o关键技术 (1) dns视图(view):bind (2)内容缓存:squido辅助技术(1)负载均衡:lvs+keepalived(2)监控:nagios,mrtg Cdn设计要点o选定核心缓存节点(电信、网通各2个)o选定边缘缓存节点(覆盖到省)o归类ip地址:哪些ip地址属于哪些运营商?Dns的 解析依赖一个庞大的地址库判定客户请求来源,然 后才可能实现用户的就近访问。o容错和负载均衡如果自己做一个简单的cdn应用,可能只需要电信 和网通2个节点,不必有边缘和核心的区分;ip库 也简化成电信、网通、其他,即dns只涉及3个视 图(VIEW)一个样例用户dns处理o一般情况下,用户的dns用A记录直接把主 机名解析到源站IP.为了使用cdn,则需要在 dns服务器上使用CNAME,把域名指向到 cdn运营商解析出来域名上(注意:不能是 某个固定IP),如:odl IN CNAME sery.cn.ccdn.com.当用户访问dl.sery.cn这个域名时,实际访 问的域名是sery.cn.ccdn.comCdn的DNS处理oCdn使用2套 DNS系统,一套对外(即对 internet提供域名解析服务,亦即是前面所 使用的别名);一套内部使用的DNS,供各 cdn节点使用(小规模的cdn可以使用 Hosts文件来实现)。一、内部dnsoCdn姐妹( sibling )、父子(parent)名 称解析o解析源站地址二、外部dnsoCdn最关键之处就是外部dns的视图功能( view)。至少需要定义3个视图:电信、网 通和其他。为了更准确地提供cdn服务,建 议每个省定义成一个View.o视图(View)一般以网段为单位,一个网 段一行,更有效的方式是搜集DNS所属网段 ,这样视图(view)的列表就会变得比较小 ,可以大大加速检索速度。三、一个简单的dns视图片断o# KEYS FOR TSIG #okey telecomkey oalgorithm hmac-md5;osecret “LaA4Y1MHlFSTTMz1mzwarA=“;o;okey cnckey oalgorithm hmac-md5;osecret “l/rlorcG+7hhabIFKe8Kjg=“; o;okey anykey oalgorithm hmac-md5;osecret “YMXXBAck4i5Sb4PlUg00Uw=“;o;三、一个简单的dns视图片断oinclude “cnc_acl.conf“;oinclude “telecom_acl.conf“;oview “view_cnc“ o match-clients key cnckey;CNC;o recursion yes;o allow-transfer key cnckey;o server 61.135.210.20 keys cnckey; ;o server 61.135.210.10 keys cnckey; ;ozone “.“ IN o type hint;o file “named.ca“;o ;ozone “localhost“ IN o type master;o file “localhost.zone“;o allow-update none; ;o ;三、一个简单的dns视图片断ozone “0.0.127.in-addr.arpa“ IN o type master;o file “named.local“;o allow-update none; ;o ;ozone “sery.cn“ IN o type master;o file “cnc.sery.cn.zone“;o allow-update none; ;o ;ozone “210.135.61.in-addr.arpa“ IN o type master ;o file “210.135.61.in-addr.arpa.zone“;o allow-update none; ;o ;o;四、视图列表片断orootnagios /var/named# more cnc_acl.confoacl “CNC“ o58.16.0.0/16;o58.168.225.0/24;o58.17.0.0/17;o58.17.128.0/17;o58.17.180.0/24;o58.17.186.0/24;o58.18.0.0/16;o58.19.0.0/16;o58.20.0.0/16;o58.21.0.0/16;o58.22.0.0/15;o58.22.0.0/16;o58.23.0.0/16;o58.240.0.0/15;o58.242.0.0/15;oo222.163.128.0/17;o222.163.32.0/19;o222.163.64.0/18;o;缓存服务器o分层设计(parent)o层间堆叠( sibling )o禁止使用ip地址访问一、分层设计o中心节点为父节点、边缘节点为子节点。用户的访 问被分配到边缘节点,当访问没有被命中时,子节 点再向父节点请求,如果父节点仍然没有被命中, 则继续向源站请求。这种机制保证了源站有更小的 访问流量,大大降低源站的带宽耗费。oacl CNSERY dstdomain www.sery.cnocache_peer www.sery.cn parent 80 3130 no-query originserverocache_peer_access www.sery.cn allow CNSERY二、层间堆叠o用户访问每个边缘服务器,如未命中,则访问临近 的节点。这也是为降低源站流量和减少源站带宽所 采取的措施。在实际的部署中,往往由数个服务器 组成一个集群,相邻节点出于一个网段内,所以这 种邻接关系相互访问是很有保障的。ocache_peer ccrshct02.html.ccdn.cn sibling 80 3130ocache_peer ccrshct03.html.ccdn.cn sibling 80 3130ocache_peer ccrshct04.html.ccdn.cn sibling 80 3130三、禁止使用ip访问o禁止ip访问既有基于安全的考虑也有出于效 率的考虑oacl IP dstdom_regex 0-9+.0- 9+.0-9+.0-9+$ohttp_access deny IP集群与负载均衡o所有节点都在各自的网段采取集群和负载均 衡技术(不包括DNS)oLvs结合keepalived是最佳的选择Keepalived 配置文件片断o#guration File for keepalivedoglobal_defs o router_id LVS_sery_2oovrrp_sync_group VGM o group o VI_OUT1o oovrrp_sync_group VGB o group o VI_INT1o oovrrp_instance VI_OUT1 o state BACKUPo interface eth2o lvs_sync_daemon_inteface eth2o virtual_router_id 51o priority 150o advert_int 5o authentication o auth_type PASSo auth_pass 1111o o virtual_ipaddress o 61.135.210.4o 61.135.220.123o oo监控:o服务及主机监控:nagios是很不错的选择。 由于squid禁止使用访问,因此监控也 应该使用域名来进行o流量监控: cacti或mrtgo报警:使用短信方式。可以外购短信服务, 把它整合到监控平台中谢谢报告人:田逸(sery163.com) 2008-01-03
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号