一种高性能的web生产环境架构的制作方法

文档序号:7817068阅读:316来源:国知局
一种高性能的web生产环境架构的制作方法
【专利摘要】本发明提供一种高性能的WEB生产环境架构,该系统体系结构由反向代理服务器、动态缓存服务器、web服务器和脚本解释器构成;反向代理服务器直接面向客户端,负责向客户端发送和接收数据;缓存服务器将常见的web资源封装在一块特殊的存储区域;web服务器是体系结构的基础架构,负责向底层的脚本解释器发送和接收数据;脚本解释器主要负责处理动态脚本,以及与数据库的沟通处理等,然后将处理以后的请求返回至web服务器。本发明是通过添加一层反向代理服务器,在反向代理服务器中配置灵活的规则,智能判断对客户端请求,然后将请求交给相应的下层服务器去处理,极大的节省web服务器的资源开销,能够满足更多的客户端的处理请求。
【专利说明】一种高性能的WEB生产环境架构

【技术领域】
[0001]本发明涉及服务器软件【技术领域】,具体地说是一种高性能的WEB生产环境架构。

【背景技术】
[0002]过去十多年间,伴随着如何改善web服务器性能,人们一直在作着各种努力。不但出现了不同平台下的HTTP服务器软件,也出了多种动态解释型语言,以期望能在有限的硬件性能下,尽可能缩减软件的资源开销,实现web服务器性能的提升。后来人们引入了集群技术,增强了硬件的整体性能。特别是最近几年,是web服务器技术大爆发的几年,各种云计算、云存储的技术不断兴起,人们对于追索高性能服务器技术的脚步不会停止,在以后相当长的一段时间内,web服务器技术仍会是计算机的热门领域之一,具备旺盛的生命力和广阔的发展前景。
[0003]传统的web服务器架构包括两个部分,一是web服务器软件,用于服务端和客户端的交互传递工作,比较常见的有微软公司的IIS,以及占世界主流地位的Apache等;二是解释型脚本语言,用来在后端处理数据,常见的解释型脚本语言有微软公司的ASP.NET、Sun公司的JSP,以及占世界主流地位的PHP等。
[0004]目前世界上最主流的web服务器架构,是使用Apache+PHP的组合,这两者组合正在被世界大多数公司采用,且表现优异,稳定性强,错误率极低。它不涉及硬件以及操作系统,常见操作系统都可以安装这两种软件。
[0005]传统web生产环境的工作模式是,当收到客户端(访客)的请求时,会先判断请求的内容,如果请求的是静态资源,那么它将从硬盘上去寻找这个资源,这种处理方式会占用一定的处理时间及硬盘寻道时间。如果硬盘性能较差,这部分的等待时间会在一定程度上降低网站的客户体验。如果客户端请求的是动态内容,那么它会继续将请求传递给底层的脚本解释器去处理,这部分的处理依然需要占用一定的时间。
[0006]每一个客户端来请求访问,web服务器就要处理一个请求,简言之就是要占用一部分硬件资源,如何节省web服务器的资源消耗,让有限的硬件性能,满足更多的客户端请求,成为了重要的研究方向,在这个大前提下,各种HTTP加速器,缓存服务器就应运而生了。
[0007]常见的缓存服务器有Varnish/Squid等,主要工作原理是将客户端经常需要请求的web资源放在一块特殊的存储区域,如内存中,当其它客户端再次请求相同的资源时,直接从内存读取即可,避免了硬盘寻道过程,也不再需要消耗web服务器资源,节省了硬件开销。
[0008]但并非所有web服务器都需要缓存服务器,对于一些交互性强,实时性强的web资源,使用缓存服务器反而有害,因为用户只能读取到缓存的过时的内容,直到缓存服务器的下一次更新。


【发明内容】

[0009]本发明的目的是克服现有技术中存在的不足,提供一种高性能的WEB生产环境架构,用于改造传统的web服务器架构,使服务器有在限的硬件资源里,满足尽可能多的客户端请求。
[0010]本发明的技术方案是按以下方式实现的,该系统体系结构由反向代理服务器、动态缓存服务器、Web服务器和脚本解释器构成;
反向代理服务器直接面向客户端,负责向客户端发送和接收数据,然后根据规则将客户端的数据发送至web服务器,或者动态缓存服务器;
缓存服务器将常见的web资源封装在一块特殊的存储区域,当客户端再次请求同一资源时,将直接从缓存服务器读取,不再去请求web服务器;
web服务器是体系结构的基础架构,负责向底层的脚本解释器发送和接收数据;脚本解释器主要负责处理动态脚本,以及与数据库的沟通处理等,然后将处理以后的请求返回至web服务器。
[0011]上述将传统web生产环境加上一层缓存,将大量需要在客户端与服务端进行交换的web资源封装入缓存服务器中,当其它客户再次请求同一资源时,可以直接从缓存服务器读取,不再向生产环境请求资源。
[0012]上述通过添加一层反向代理,判断用户请求的资源类型,是否需要通过读取缓存服务器,或是直接交由web生产环境来处理。保证了整个架构的灵活性。
[0013]本发明的优点是:
本发明的一种高性能的WEB生产环境架构和现有技术相比,是通过添加一层反向代理服务器,在反向代理服务器中配置灵活的规则,智能判断对客户端请求,然后将请求交给相应的下层服务器去处理,极大的节省web服务器的资源开销,能够满足更多的客户端的处理请求,而且本发明具有设计合理、结构简单、使用方便等特点,因而,具有很好的使用价值。

【专利附图】

【附图说明】
[0014]图1为一种高性能的WEB生产环境架构的示意图。
[0015]实施方式
下面结合附图对本发明的一种高性能的WEB生产环境架构作以下详细说明。
[0016]如图1所示,本发明的一种高性能的WEB生产环境架构,该系统体系结构包括:反向代理服务器,动态缓存服务器、web服务器、脚本解释器,其中,web服务器软件和脚本解释器构成了传统的web生产环境。
[0017]反向代理服务器直接面向客户端,负责向客户端发送和接收数据,在反向代理服务器中设置若干项复杂和规则,比如将大量的静态内容交由缓存服务器读取,而动态内容交由web服务器处理,这样web服务器处理的请求数将大大减小,相对的,服务器的硬件开销也将大大减小。
[0018]缓存服务器将常见的web资源(如图片、js等)封装在一块特殊的存储区域,当客户端再次请求同一资源时,将直接从缓存服务器读取,不再去请求web服务器;如果在缓存服务器中设置使用内存作为存储区域,那么它将直接从内存中调用相应的资源交付客户端,避免了传统web服务器的一系列耗时的处理方式,减少了客户端的等待时间,极大的提升客户体验。
[0019]web服务器是体系结构的基础架构,通常指像IIS/Apache之类的HTTP服务器软件。它负责传递客户端的请求,然后根据客户的请求,决定下一步的处理方式。如果客户端请求的是静态资源,那么它将从硬盘上去寻找这个资源。如果客户端请求的是动态内容,那么它会继续将请求传递给底层的脚本解释器去处理。
[0020]脚本解释器主要负责处理动态脚本,以及与数据库的沟通处理等,然后将处理以后的请求返回至web服务器;
综上所述,本架构包包含三层模式,上层是反向代理服务器,中间层是缓存服务器,下层是传统web服务器。用户的请求由反向代理服务器接收,然后交由对应的下层去处理。

【具体实施方式】
[0021]对于本架构里要求的反向代理服务器,我们采用nginx来实现,在nginx的配置文件中指定好对应的规则,比如当用户请求的文件属于.jpg/.gif/, png/.js/.css/.mp3/.mp4/.rar等格式,那么将该请求提交给缓存服务器varnish。而当用户请求.php格式的文件时,将请求提交给HTTP服务器。
[0022]Varnish 作为缓存服务器,当用户第一次请求.jpg/, gif/, png/, js/.css/.mp3/.mp4/.rar等格式的静态内容时,也会去向底层读取。但读取到之后,Varnish会将这些文件缓存到内存中,当其它用户再次请求这些文件时,Varnish将直接从内存中调用文件传递回客户端,不再向http服务器请求。
[0023]HTTP服务器,我们选择了业界最知名的Apache。Apache在接到处理请求以后,如果请求的是.jpg/.gif/.png/, js/.css/.mp3/.mp4/.rar文件,将会去硬盘查找这些文件,如果请求的是.Php文件,则会继续交由下层的动态脚本解释器去执行。
[0024]动态脚本解释器,我们选择了世界上最知名的php,该软件可以在Windows/Linux/Unix等多种操作系统中安装,稳定性表现良好。
[0025]本发明的一种高性能的WEB生产环境架构其加工制作非常简单方便,按照说明书附图所示即可加工。
[0026]除说明书所述的技术特征外,均为本专业技术人员的已知技术。
【权利要求】
1.一种高性能的WEB生产环境架构,其特征在于该系统体系结构由反向代理服务器、动态缓存服务器、web服务器和脚本解释器构成; 反向代理服务器直接面向客户端,负责向客户端发送和接收数据,然后根据规则将客户端的数据发送至web服务器,或者动态缓存服务器; 缓存服务器将常见的web资源封装在一块特殊的存储区域,当客户端再次请求同一资源时,将直接从缓存服务器读取,不再去请求web服务器; web服务器是体系结构的基础架构,负责向底层的脚本解释器发送和接收数据;脚本解释器主要负责处理动态脚本,以及与数据库的沟通处理等,然后将处理以后的请求返回至web服务器。
2.根据权利要求1所述的一种高性能的WEB生产环境架构,其特征在于将传统web生产环境加上一层缓存,将大量需要在客户端与服务端进行交换的web资源封装入缓存服务器中,当其它客户再次请求同一资源时,可以直接从缓存服务器读取,不再向生产环境请求资源。
3.根据权利要求1所述的一种高性能的WEB生产环境架构,其特征在于通过添加一层反向代理,判断用户请求的资源类型,是否需要通过读取缓存服务器,或是直接交由web生产环境来处理;保证了整个架构的灵活性。
【文档编号】H04L29/08GK104243620SQ201410550989
【公开日】2014年12月24日 申请日期:2014年10月17日 优先权日:2014年10月17日
【发明者】朱坤, 丛戎 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1