林晴昕优秀作者
原创内容 来源:小居数码网 时间:2024-08-13 15:09:01 阅读() 收藏:60 分享:40 爆
导读:您正在阅读的是关于【数码知识】的问题,本文由科普作家协会,生活小能手,著名生活达人等整理监督编写。本文有940个文字,大小约为4KB,预计阅读时间3分钟。
0x1简介因为公司分布式项目需要,突然想了解常见开源的CDN软件,于是Google了一下。
基本原理图
内容类型识别模块: (静态的文件:asp,jsp,php,jpg,gif,png等等;媒体文件:mp3,mp4,flv,mkv等等)
解析模块:(服务器域名配置cdn的系统的dns,客户访问的你网站的时候,dns会根据客户访问解析客户地址位置ip,反馈给调度模块就近分配)
调度模块:(根据客户ip的物理地址信息,自动分配就近的镜像服务器或者缓存服务器,这里调度分配方式具体根据规则有就近分配、根据来路ip依次抢占分配、根据调度模块识别的并发数来分配、根据调度模块队列请求数来分配、根据调度模块识别的应用优先级来分配。总之这个功能有点像路由器的流量控制,路由器的qos有针对数据包的、针对ip的、针对整个网断的、针对协议的、针对应用的。做过网络工程师的同学应该很好理解这个环节。这个模块还有负责单点故障转移的功能,遇到有问题的节点直接剔除集群,直到运维恢复正常后重新加入集群中)
缓存模块:(在并发量大的情况下,命中客户访问的请求,将镜像服务器的内容缓存到内存中,再次加快用户的访问速度。这里的缓存是实时刷新的。)
其他模块:(比方bgp模块,waf模块、ids模块、av模块、图像识别模块、视频识别模块)
流程中cdn的关键就是在于镜像和缓存,这两个模块的服务器宽带肯定是比集中式单点访问要快,因为用户是最短路径选择就近访问,这个也是分布式应用的优势,可以降低单点故障。
在日常生产环境中,这个里面有一个问题就是,很多小薇企业的站长只是单纯的只是域名上了cdn,其实你服务器出问题也会挂掉的,所以cdn包含镜像模块的情况下,应用就不会那么容易被攻击后挂掉了。选择好的cdn产品或者自研开发cdn产品,镜像服务器集群肯定是要考虑的。
Google搜索结果来看,常见的软件有squid,vanish,apache traffic server(ATS),nginx等,从目前使用的趋势来看Apache Traffic Server占主流,也是未来的趋势。
有一些文章提到国内互联网公司和CDN厂商目前使用的方案。
ATS是主流,但是ATS是C++语言开发,二次开发技术难度高,对网络协议要有很深的基础,所以一些厂商转向自研,这篇文章也有助于即将从事CDN缓存开发的学习方向,就是好好研究ATS的源码。
上面就是小居数码小编今天给大家介绍的关于(cdn内容分发机制)的全部内容,希望可以帮助到你,想了解更多关于数码知识的问题,欢迎关注我们,并收藏,转发,分享。
94%的朋友还想知道的:
(513)个朋友认为回复得到帮助。
部分文章信息来源于以及网友投稿,转载请说明出处。
本文标题:开源cdn分发系统原理简介(cdn内容分发机制):http://sjzlt.cn/shuma/155251.html