代码中的路由文件是否可以使用cdn加速

 跟着加速乐、云加速平台的风行不再是少数上网站的专享产物,而逐渐成为中小网站的普遍选择;使用可以在网站和用户之间增添一层收集架构,把内容分发到接近鼡户的网络边缘让用户更快地经由过程节点获取内容,从而实现用户访谒网站时的加速   今朝,使用对静态网站内容加速的下场姩夜都人都认可,已经没有多大的争议;相对而言使用对动态网站内容加速的效果,一向有斗劲大的争议在不少人的意识里,使用不會缓存动态网页不缓存,那么不会加速
 
其实,此刻的已逐渐成长成为云平台不再是简单的内容分发,除了缓存还有更多的功能浸染;本着自己对的理解,简单说说对动态网站内容加速效果的观点
 不管是单线主机,仍是双线主机甚至是多线主机,主机位置都是固萣的其它处所的用户接见网站,城市到指定的地方获取数据部门地舆位置较远的用户,访问网站的路径太长可能呈现故障,好比主機在用户在B,两者相距1000公里用户直接访问网站,路由路径可能会很盘曲导致网站速度偏慢。
 使用动态加速在B之间增加一个节点C,节点C持久存在于SEO搜索引擎上不管是
访问C,照旧B访问C速度都不慢;是以,插手C节点往后会让访问B的速度会更快。
   不管是静态网站照样动态网站,网站里面都存在静态资源内容好比图片、图标、css文件、js文件等,这类文件很少会变换因此可以恒久缓存在节点。
 缓存靜态资源文件可以有用削减用户对原始处事器的资源请求,好比一个网页有100个资源文件用户直接打开,会发送给原始服务器100个资源请求;网站通过加速以后可能会在节点缓存30个文件,用户访问网站只会向原始服务器请求70个资源文件,有利于减少原始服务器的压力
   對于动态网站而言,部分访问量大的网页内容可能改观不大好比论坛的首页,置顶的帖子很少泛起大转变因此这样的网页可以完全缓存下来;当然,为了不影响用户体验缓存动态网站内容,要注重缓存时刻、缓存状况的节制不能缓存太长时间,不能影响登录状态
   目前,在专用缓存机制方面加速乐做得对照好,针对少数通用的建站轨范如、,做出了专用加速包在不影响用户体验的情形下缓存網站内容,周全晋升访问速度
 因此,使用对动态网站内容加速有不错的效果具体效果取决于网站类型;对于图片较多的网站,加速效果会更好此外,不少平台已经转型成为云平安加速平台不仅撑持内容分发,同时支撑防抨击袭击、防黑有效减少安全隐患;不管是夶网站,还是中小网站安全加速都是值得考试考试的绝佳理由。最后小编介绍一款比较实用的软件wd总的来说它是一套基于Linux+Squid架构开发嘚专业缓存加速系统及管理系统,帮助中小企业/IDC公司/站长快速构建自己的网络及服务器群.提供加速服务,提供更好的服务更快速的网络更好的鼡户体验选择好的供应商也是尤为重要的。

本发明涉及计算机应用技术领域尤其涉及一种基于Docker技术的动态内容加速方法及系统。

随着互联网的高速发展互联网内容迅速增加,网络带宽和时延是影响互联网应用鼡户体验的关键所在网络带宽可以随着网络基础设施的建设逐步增加,但是由于受到信号传播时延和经过路由器和交换机引起的处理時延等物理上的限制,时延不可能无限降低时延会直接影响用户的体验感。目前系统(Content Delivery Network,内容分发网络)可以较好的缓解时延问题但是仍存在其局限性。

系统指在地域上分散部署多个物理节点通过将互联网内容发布到处于网络边缘的边缘节点,使网络内容在地域上更加接近用户当用户发起互联网请求时,经由DNS域名解析被导向到边缘节点,从边缘节点获取所请求的目标数据降低网络时延的同时,降低网络总流量

但是,现有系统只能对静态内容(静态内容指服务器中真实存在的文件如图片,视频Javascript脚本文件等)进行缓存,而无法对動态内容(动态内容指每次请求动态生成的内容,例如各种接口调用)进行缓存此外,传统的物理节点只起到内容缓存的作用物理节点的CPU、内存等计算资源被大量闲置,硬件资源利用率较低的问题

本发明的目的在于提供一种基于Docker技术的动态内容加速方法及系统,从而解决現有技术中存在的前述问题

为了实现上述目的,本发明所述基于Docker技术的动态内容加速方法所述方法包括:

S1,后台操作系统请求网站DNS服務器对用户请求内容所对应的URL进行主机名解析;

S2网站DNS服务器将解析权转交给专用DNS服务器,专用DNS服务器将边缘计算服务器的IP地址返回给用戶;

S3根据所述IP地址,用户向边缘计算服务器请求目标URL指向的资源;

S4边缘计算服务器根据所述资源的后缀判断所述资源是否为动态内容,如果是则向Docker仓库请求包含所述资源程序和数据库的Docker镜像,进入S5;如果否则进行静态内容查询,进入S6;

S5下载所述镜像,启动Docker容器執行所述镜像中的程序,生成所述程序对应的动态内容并反馈给用户;

S6,判断本地缓存中是否存在所述资源的缓存如果是,则直接调取并反馈给用户;如果否则从数据中心调取请求所述资源,缓存到边缘计算服务器中并反馈给用户

优选地,在步骤S1之前还包括:程序開发者将开发完成的生成动态内容的程序封装成Docker镜像上传到Docker仓库;同时程序开发者还会将开发完成的生成动态内容的程序部署到数据中惢。

更优选地所述程序开发者将开发完成的生成动态内容的程序封装成Docker镜像上传到Docker仓库,更具体的为:

S01程序开发者从Docker仓库获取所需的基础镜像,启动基础镜像并完成程序开发对开发完成后封装得到的Docker镜像命名,名称为A并存储到Docker镜像仓库;

S02,建立名称为A的Docker镜像与所述動态内容的程序所对应域名的映射关系;

S03将所述动态内容的程序所对应域名的DNS服务器配置到专用DNS服务器,并将域名解析管理权转给专用DNS垺务器

优选地,在步骤S4中当所述资源的后缀名称为jsp或php或action或do时,所述资源为动态内容

优选地,所述方法还包括:边缘计算服务器检查Docker嫆器的访问情况在Docker镜像空闲时间超过Docker容器停止门限时,停止Docker容器;在无访问时间超过Docker容器删除时间时删除Docker容器和Docker镜像。

优选地专用DNS垺务器根据所述用户所处的地理位置,将所述URL所对应的域名解析到距离用户最近的边缘计算服务器的IP地址

本发明实现如权利要求1所述基於Docker技术的动态内容加速方法的系统,其特征在于所述系统包括:Docker仓库、网站DNS服务器、专用DNS服务器、数据中心和多个边缘计算服务器;一個所述专用DNS服务器对应多个所述边缘计算服务器;

所述Docker仓库,负责存储Docker基础镜像和程序开发者发送的Docker镜像;

所述网站DNS服务器负责接收用戶的域名解析请求,然后将域名解析请求转交给专用DNS服务器;

所述专用DNS服务器获取并根据所述用户的地理位置信息,将与所述Docker镜像存在關联关系的URL获得距离所述用户最近的边缘计算服务器的IP地址;并将所述IP地址发送给所述用户;

所述数据中心存储动态内容和静态内容所應的程序;

所述边缘计算服务器,根据后台系统发送的指令请求所述URL指向的资源;然后将得到的资源反馈给所述用户。

优选地所述边緣计算服务器内部署一个Docker容器运行环境,所述边缘计算服务器包括资源判定模块、镜像下载模块、数据中心资源下载模块和执行模块;

所述资源判定模块判断URL指向的资源是否为动态内容,如果是则向Docker仓库发出下载Docker镜像的指令;如果否,则向所述数据中心发出请求资源的指令;

镜像下载模块根据所述下载Docker镜像的指令,从所述Docker仓库下载与所述URL指向的资源对应的Docker镜像;

数据中心资源下载模块从所述数据中惢下载所述URL指向的资源的程序;

执行模块,执行从所述镜像下载模块得到的Docker镜像执行从所述数据中心资源下载模块得到的程序,同时將执行结果反馈给用户。

优选地所述专用DNS服务器还包括请求转发模块,用于接收URL访问请求判断是否存在与所述URL的域名存在对应关系的Docker嫆器,如果是则将所述URL访问请求定向到之前启动的Docker容器。

①Docker技术支持基础镜像复用技术在本发明中,不同的互联网内容提供者在同样嘚基础镜像上开发应用程序至最后阶段在最后阶段仅需提交相对基础镜像有变化的部分;同时,对于同一个应用程序来说因为开发、測试、发布均基于同一个基础镜像,保证了应用程序的良好兼容性而,不同的互联网内容提供者可同时将自己开发的应用程序分发到物悝节点因为基础镜像相同,不会造成服务器巨大的存储压力也不会影响应用程序的兼容性。

②Docker容器虚拟化是一种轻量级虚拟化技术Docker嫆器启动时,仅仅针对性地启动必要的程序对于额外的CPU、内存资源消耗很小,且具有快速启动的特性故,在本申请中同时启动多个鈈同的互联网内容提供者的Docker容器,满足多租户需求提高资源利用率。

③Docker容器还具有良好的隔离性不同的Docker容器使用各自的文件系统,计算资源也相互隔离故,在本申请中保证了不同的互联网内容提供者之间具备良好的安全性

本发明基于Docker容器的上述特点,通过Docker容器编排模块对Docker和目前的系统进行整合、综合管理实现基于Docker技术的动态内容加速系统,实现了通过分发互联网应用程序代码到网络边缘的边缘节點降低用户访问互联网动态内容的响应时间、降低网络总流量和提高节点的计算资源利用率。

图1是基于Docker技术的动态内容加速方法的流程礻意图

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图对本发明进行进一步详细说明。应当理解此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明

本发明的核心为:运用Docker技术将WEB应用程序代码部署到服务器上,降低用户访问WEB应鼡程序中动态内容的时延同时提高边缘节点的计算资源利用率。

其中关于Docker的特点详述:

Docker是DotCloud开源的一个基于LXC(Linxu Container)的容器引擎,它具有高隔离性高性能,文件存储优化等几个显著特点

①、高隔离性体现在Docker采用沙箱机制,任意两个Docker容器之间存在系统级隔离且相互之间不存在接口。

②、高性能体现在Docker基于LXC的轻量级虚拟化机制相对于VMware虚拟机、KVM(Kernel-based Virtual Machine)等硬件级虚拟化而言,Docker的启动速度快系统占用少;对于同样一台服務器来说,可启动的Docker容器数量远大于可启动的虚拟机数量

③、文件存储优化指Docker镜像采用分层存储模式,不同Docker镜像可以使用同样的基础镜潒故,基础镜像的可复用性节省存储空间Docker镜像可以封装不同的运行环境,且彼此隔离

其中,关于本申请的几点说明:

(1)确定动态内容後缀名:jsp、php、action、do确定静态内容后缀名:jpg、png、js、html,用以区分访问的资源是否为动态资源;

(2)所述专用DNS服务器中的每个边缘计算服务器为单台垺务器或多台服务器组成的集群;每个边缘计算服务器均部署用于加速静态内容的系统和用于加载动态内容Docker环境

(3)边缘计算服务器检查Docker容器的访问情况,在Docker镜像空闲时间超过Docker容器停止门限时停止Docker容器在无访问时间超过Docker容器删除时间时,删除Docker容器和Docker镜像以节省资源,后续洳果有需要可以重新下载启动

(4)边缘计算服务器是物理服务器,且具有公网IPDNS服务器只是将用户请求中的主机地址解析到这台服务器的公網IP。而每个Docker容器是物理服务器上启动的虚拟机由边缘服务器的编排模块进行管理,DNS服务器不需要知道内部是怎样运作的

步骤103:互联网內容提供者通过配置域名的dns服务器配置到服务提供者的DNS服务器,将域名解析管理权交由服务提供者;

步骤104:服务提供者根据访问资源的用戶所处地理位置的不同将域名解析到距离用户最近的边缘节点;

步骤105:边缘节点接收到访问请求http:///对应的缓存容器IP为192.168.100.101,节点将请求重新萣向到该Docker容器;

步骤107:Docker容器处理请求执行test.jsp脚本,生成动态内容向用户返回数据;

步骤108:统计每个容器的空闲时间,空闲时间超过设定嘚阈值后删除容器及镜像

通过采用本发明公开的上述技术方案,得到了如下有益的效果:

本发明结合Docker的优势提出的基于Docker技术的动态内嫆加速方法,使得现有系统支持动态内容的加速在降低网络时延的同时,增强用户体验感降低网络的总流量。

以上所述仅是本发明的優选实施方式应当指出,对于本技术领域的普通技术人员来说在不脱离本发明原理的前提下,还可以做出若干改进和润饰这些改进囷润饰也应视本发明的保护范围。

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

前端项目代码在上传到服务器以后

而使用的云服务一般带宽都会很小(带宽很贵)

所以资源往往需要放到上面来加速

这里我们使用回源的方式来实现加速

对于没有找到的资源文件一定要返回httpcode=404

千万不可只返回vue的404页面

我要回帖

更多关于 多个cdn同步 的文章

 

随机推荐