反向代理负载均衡
前面提到了使用代理服务器可以将请求转发给内部的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的加速模式与此相似,但没有实现对多内 部服务器的均衡设置。虽然实现这个任务并不能算是特别复杂,然而由于要求特别高的效率,则实现起来并不是十分简单。
使用反向代理的好处是,可以将负载均衡和代理服务器的高速缓存技术结合在一起,提供有益的性能。然而它本身也 存在不小的问题,首先就是必须为每一种服务都专门开发一个反向代理服务器,这就不是一个轻松的任务了。并且,虽然代理 服务器本身虽然可以设计的效率非常高,但是每针对每一次代理,代理服务器就必须维护两个连接,一个对外的连接,一个对 内的连接,因此对于特别高的连接请求的时候,代理服务器的负载也就非常之大了。很可能在最后反向代理服务器成为了服务 的瓶颈。
未完,待续。。。
标签: