负载均衡详解第二十九篇:高速缓存负载均衡-部署高速缓存(上)


根据相同的基本原理,高速缓存可以按照以下四种不同的方式进行部署和使用:
1:正向代理:用于客户端加速
2:透明代理:用户客户端加速
3:反向代理:用户服务器端加速
4:透明反向代理:用户服务器端加速

顾名思义,高速缓存以正向代理的方式进行部署用于加速客户端的Internet访问,而以反向代理的方式部署为原始服务器加速内容的分发。透明代理一般是部署高速缓存用于透明的客户端加速,客户端并不知道网络中存在高速缓存。透明反向代理按照反向代理的方式进行工作,对服务器是完全透明的。

正向代理

正向代理需要最终用户把本地的代理服务器配置成高速缓存服务器。需要配置每个用户的浏览器指向代理服务器。浏览器使用一种特殊的协议把用户所有的请求发送给高速缓存,高速缓存代替用户获取内容。许多企业部署正向代理用于客户端加速。把高速缓存部署为正向代理的问题是需要配置每一个浏览器指向代理服务器。然而,可以通过在用户登录到公司网络时自动执行一个脚本来解决这个问题。

正向代理可以提高安全性,因为网络管理员可以只允许代理服务器访问Internet,不允许其他人访问。所有最终用户必须通过代理服务器访问Internet,由于原始服务器把代理服务器看作最终用户,这样隐藏了每个最终用户真实的IP地址。

部署正向代理的另外一个问题是必须确保高速缓存的可扩展性。假设一台高速缓存能够处理500用户的访问,如果网络中有4,000个用户,就需要购买八台这样的高速缓存,在它们之间分配压力。由于每个用户都明确指向一个高速缓存,如果这个高速缓存出现故障怎么办?如果高速缓存出现故障,用户就不能访问Internet,导致可用性的瓶颈。

通过部署负载均衡器,可以轻松解决部署正向代理服务器扩展性和可用性的问题。如图所示:

0702.jpg(24.28 K)
10/5/2012 10:17:19 AM

负载均衡器部署在正向代理高速缓存的前端。在负载均衡器上面定义一个虚拟的IP地址,并把这个IP地址绑定到每个高速缓存的8080端口。

由于客户端跟代理服务器之间使用8080端口通讯,因此在负载均衡器上面也使用8080端口。浏览器上面配置代理服务器时指定的端口号也是8080,所有的请求都会发到这个端口号。使用负载均衡立即解决了扩展性和可用性这两个问题。

为了以后的扩展,可以透明的添加更多的高速缓存。如果一个高速缓存出现故障,请求会立即在其他可用的高速缓存之间分发,提高可用性。除此之外,还可以提供较高的可管理性,管理员可以适当停止一台高速缓存进行维护,比如软件更新,而不用影响用户的服务。


正向代理负载均衡跟服务器负载均衡非常类似。客户端浏览器的代理服务器的IP地址配置成负载均衡器上面的VIP地址。使用正向代理最大的问题是每个客户端的浏览器都必须指向代理服务器,这个问题可以在用户登录网络时自动执行一些脚本来解决,另外使用透明代理也可以解决浏览器配置的问题。

透明代理

把高速缓存部署成透明代理的方式,就不用配置每个用户的浏览器指定代理服务器。如图所示,

0703.jpg(18.91 K)
10/5/2012 10:17:19 AM

把高速缓存放置在Internet连接的通道上部署成透明代理的方式。由于所有的流量都通过高速缓存,它可以终止Web请求的连接,由高速缓存自己提供内容;如果缓存没有请求的内容,就到原始服务器抓取内容。用户不会感觉到网络中存在一个高速缓存。但是透明代理会带来扩展性和可用性方面的问题。首先,由于只有一条或者两条Internet链路,无法部署多台高速缓存。

一条Internet链路上面只能放置一台高速缓存。第二,如果高速缓存出现故障,就完全失去了Internet访问,并不仅仅是Web访问的流量。这种部署方式让管理员的维护工作变得非常困难,比如软件升级、损坏硬件的更换等。


如图所示,通过使用负载均衡器完成透明高速缓存的交换,可以简化透明代理高速缓存的部署。

0704.jpg(22.00 K)
10/5/2012 10:17:19 AM

负载均衡器必须配置基于流量重定向的策略把所有目的端口为80的流量重定向到高速缓存。这条策略必须只应用在跟内网相连流量进入方向的物理端口。这一点非常重要,如果高速缓存没有相应内容的话,它会到原始服务器上面请求对象,这个请求会再次穿透负载均衡器。对于高速缓存发出的请求,负载均衡器不能再次执行重定向,而是要把请求转发给原始服务器。


利用透明的高速缓存交换,负载均衡器可以对高速缓存执行健康检查,能够立即检测出高速缓存的故障。如果高速缓存出现故障,负载均衡器只要变成一个直通的交换机,两个方向转发流量即可。因为高速缓存并没有串接在网络中,客户端仍然能够访问Internet。但前提是负载均衡器跟连接Internet的交换机和路由器一样比高速缓存的可靠性要高,因为如果负载均衡器出现故障,客户端就失去了Internet连接。