2024年5月4日发(作者:有人有日本资源吗百度云)
Varnish在高校网络中的应用研究
摘要:varnish是一个优秀的开源的反向代理软件和http加速器。
本文介绍了基于开源的varnish在校园网络中部署高性能的反向代
理服务器和负载均衡服务器,并在此基础上,剖析了varnish的工
作原理。
关键词:varnish;反向代理;缓存;负载均衡
中图分类号:tn948.64 文献标识码:a 文章编号:1007-9599
(2012) 24-0112-02
1 研究背景
南京师范大学泰州学院目前从cernet(中国教育和科研计算机
网)申请到16个c类ip地址段,从chinanet(中国公用计算机互
联网)申请到24个ip地址,从cmnet(中国移动互联网)申请到
16个ip地址。本校的校园网出口有三条线路,分别通过cernet、
chinanet和cmnet接入internet。在校园网上的应用系统主要有
学校网站、办公自动化系统、教务信息系统、校园卡“一卡通”系
统、cams自助服务平台等。随着网络的高速发展,网络应用及用户
数均呈几何倍数增长,面对访问者数量的快速增加,网络服务器需
要具备大量并发访问服务的能力,解决以下问题,可以使学校的各
应用系统各应用系统更为快速、高效、平稳、及安全的运转:
(1)利用反向代理来解决学校公网ip地址不足的问题,并提高
应用系统的安全性,如:cams自助服务平台与cams认证服务系统
部署在同一台服务器上,一旦cams自助服务平台被入侵,将威胁
到cams认证服务系统中的数据安全。
(2)利用负载均衡技术来构建校园网应用的集群系统,实现校
园网应用系统的高可用性和可扩展性。
基于varnish高性能的反向代理和负载均衡服务器,配合linux
的keepalived的功能是解决以上两个问题的有效途径之一。
2 varnish简介
varnish是一款高性能且开源的反向代理和http加速器,它的开
发者poul-henning kamp是freebsd的核心开发人员之一。varinsh
采用了全新的软件体系机构,和现在的硬件体系配合更为紧密,能
够充分发挥硬件的性能。先进的设计理念和成熟的设计框架式
varnish的主要特点。varnish的一些特点如下:
(1)基于内存对数据进行缓存,采用了“visual page cache”
技术。
(2)利用虚拟内存方式,i/o性能出众。
(3)vcl配置管理比较灵活。
(4)具有强大的管理功能。
(5)状态机设计巧妙,结构清晰。
(6)利用二叉堆管理缓存文件,可以使用正则表达式快速、批
量地清除部分缓存,可达到积极删除的目的。
3 varnish在校园网中的应用
varnish在校园网中主要是用作提供反向代理服务和高性能的负
载均衡的服务器
3.1 基于varnish的反向代理
反向代理(reverse proxy)方式是指以代理服务器来接受外部
网络上的http连接请求,然后将请求转发给内部网络上的服务器,
并将从服务器上得到的结果返回给外部网络上请求连接的客户机,
此时代理服务器对外就表现为一个web服务器。普通的代理服务器
不支持外部对内部网络的访问请求。当一个代理服务器能够代理外
部网络上的主机,访问内部网络时,这种代理服务的方式称为反向
代理服务。
3.1.1 提升web服务器的安全性
反向代理服务器可以作为web服务器的前置服务器,从而提升web
服务器的安全性。代理服务器对外就表现为一个web服务器,外部
网络就可以简单把它当作一个标准的 web 服务器而不需要特定的
配置。不同之处在于,这个服务器没有保存任何网页的真实数据,
所有的静态网页或者 cgi程序,都保存在内部的 web 服务器上。
因此对反向代理服务器的攻击并不会使得网页信息遭到破坏,这样
就增强了 web服务器的安全性。
3.1.2 解决公网ip不足的问题
将所有的域名通过dns服务器解析为反向代理服务器的ip地址,
用户通过域名发出访问web服务器的请求,此时反向代理服务器接
受用户的请求,通过url来识别用户需访问的web服务器,并代替
用户向各个源服务器请求同样的信息内容,并把信息内容发给用
户。这样,节约了有限的 ip 地址资源,校园网的内所有网站只需
共享一个在 internet 中注册的 ip 地址,而这些服务器则只需分
配私有地址,采用虚拟主机的方式对外提供服务。
3.1.3 加速web服务器的访问
通常所说的 web 服务器加速,它是一种通过在繁忙的 web服务
器和外部网络之间增加一个高速的 web缓冲服务器来降低实际的
web 服务器的负载的一种技术。反向代理是针对web 服务器提高加
速功能,作为代理缓存,它并不是针对浏览器用户,而针对一台或
多台特定的web 服务器。它会把本地缓存里的内容直接发给用户,
以减少后端 web 服务器的压力,提高响应速度。
3.2 基于varnish的负载均衡
由于目前现有高校网络的各个核心业务系统随着访问量的提高,
数据流量也在快速增长,服务器所面临的处理能力和计算强度也相
应的增大,某些大访问量的业务系统已经无法由单一的服务器设备
来承载。在此情况下,如
果淘汰掉现有服务器去做大规模的硬件升级,这样不仅将造成资
源的浪费,而且如果再面临下一次业务量的提升时,又将导致再一
次硬件升级的高额成本投入,甚至性能再卓越的设备也不能满足业
务量持续增长的需求。而负载均衡则是解决这一困境的最为廉价且
有效的方法。
负载均衡是建立在现有网络结构之上,它提供了一种廉价又有效
的方法来扩展网络服务器的带宽、增加吞吐量、加强网络数据处理
能力、提高网络的灵活性和可用性。目前,负载均衡的实现分为硬
件和软件两大类。而对于高校而言,硬件产品的价格过于昂贵,一
般会优先选用软件来实现负载均衡的功能。而免费的开源软件
varnish的负载均衡的功能及其性能可以满足绝大部分高校的需
求。varnish的分布式负载均衡的设置可以使用weight=num来配置
后端服务器的处理服务请求的权值。
varnish负载均衡的配置实例如下:
direct webserver random{
{.backend = webserver1; .weight=5 }
{.backend = webserver1; .weight=8 }
4 结束语
尽管在所论述的varnish在校园网络中的应用方案中,并不都是
最优的解决方案,例如服务器负载均衡方案,但对于经费有限的高
校而言,由于不需要投入大量经费,只需对免费、开源的varnish
进行优化配置即可达到基本的目的,因此具有相当大的实用价值。
目前,在南京师范大学泰州学院校园网中已经部署了多台varnish
服务器,作为反向代理服务器,缓存服务器和负载均衡服务器使用,
基本达到了预期的效果。
参考文献:
[1]varnish documentation. https://h-soft
ware .com/static/book/.
[2]张宴.使用varnish代替squid做网站缓存加速器的详细解决
方案.http:///post/313/,2008.
[3]郭欣.构建高性能web站点.电子工业出版社,2009.
[4]高俊峰.高性能linux服务器构建实战[m].机械工业出版社,
2011.
发布者:admin,转转请注明出处:http://www.yc00.com/xitong/1714757859a2509868.html
评论列表(0条)