FreeBSD连载93:反向代理负载均衡

来源:岁月联盟 编辑:zhu 时间:2008-01-17
FreeBSD连载93:反向代理负载均衡内容简介:【FreeBSD教程】反向代理负载均衡 前面提到了使用代理服务器可以将请求转发给内部的Web服务器,使用这种加速模式显然可以提升静态网页的访问速度。然而,也可以考虑这样一种技术,使用代理服务器将请求均匀转

【FreeBSD教程】反向代理负载均衡

前面提到了使用代理服务器可以将请求转发给内部的Web服务器,使用这种加速模式显然可以提升静态网页的访问速度。然而,也可以考虑这样一种技术,使用代理服务器将请求均匀转发给多台Web服务器上,从而达到负载均衡的目的。

Apache开发组的一位成员Ralf S.Engelschall基于Apache的代理模块mod_proxy开发了反向代理模块mod_rproxy,用于实现负载均衡,请参考他的文章Load Balancing Your Web Site: http://www.WebTechniques.com/features/1998/05/engelschall/engelschall.shtml

这种代理方式与普通的代理方式有所不同,标准代理方式是客户使用代理访问多个外部Web服务器,而这种代理方式是代理多个客户访问内部Web服务器,因此也被称为反向代理模式。Squid的加速模式与此相似,但没有实现对多内部服务器的均衡设置。虽然实现这个任务并不能算是非凡复杂,然而由于要求非凡高的效率,则实现起来并不是十分简单。

使用反向代理的好处是,可以将负载均衡和代理服务器的高速缓存技术结合在一起,提供有益的性能。然而它本身也存在不小的问题,首先就是必须为每一种服务都专门开发一个反向代理服务器,这就不是一个轻松的任务了。并且,虽然代理服务器本身虽然可以设计的效率非常高,但是每针对每一次代理,代理服务器就必须维护两个连接,一个对外的连接,一个对内的连接,因此对于非凡高的连接请求的时候,代理服务器的负载也就非常之大了。很可能在最后反向代理服务器成为了服务的瓶颈。

图片内容