服务器集群间的负载均衡

通过BGP插入路由信息的方法可以使得用户访问邻近的服务器集群,但是用户访问存在突发性,在某个区域的访问高峰可能会导致该区域的服务器集群系统超载,而其他服务器集群系统可能处于低负载状态,这时与其将请求在超载系统上排队等候,不如将请求送到远处的低负载系统上执行,可以提高响应速度。例如,中国用户在白天时间的一段访问高峰使得在中国的镜像服务器集群系统超载,而此时美国是晚上时间其镜像服务器集群系统处于低负载状态。

我们提出通过IP隧道的方法将请求从一个调度器转发到另一个调度器,再调度到真实服务器上执行。在下一章中将详细描述如何通过IP隧道作IP负载均衡调度。在通过IP隧道转发请求前,各个服务器集群需要定时交换负载信息(如2分钟交换一次),当确信远处的集群系统处于低负载状态,再转发请求。例如,当本地集群系统的综合负载大于1.1和远处集群系统的负载小于0.7时,调度器通过IP隧道将新的请求转发到远处的集群系统。若远处集群系统的负载超过0.7时,停止转发请求。当本地集群系统的负载降至1.0时,也停止转发请求,由本地服务器处理。这样,基本上可以避免两个调度器间相互转发一个请求。即使两个调度器间相互转发一个请求报文的例外情况发生,报文的TTL会降到零,报文被丢掉。