全局负载均衡技术
论坛 发表于:11年07月11日 14:18 [转载] 51CTO
5.8.1?GSLB
GSLB(Global Server Load Balance)全局负载均衡技术,这个貌似是Redware先提出来的叫法,其他各个厂家叫法都有区别,如F5的3DNS和Cisco的GSS等。作者觉得这个词更贴切而且技术性普适一些,就按这个名词进行技术介绍,从原理上讲和3DNS/GSS什么的没有啥大的区别。
GSLB就是一台DNS解析服务器。最主要功能就是对不同Client发往相同域名服务的请求,以一定算法规则进行Hash,回应不同Server IP地址。常见的算法包括轮询(90%都用的)、最少连接数和服务器最快响应速度等。增强功能是可以对Server IP进行探测,如果探测到某台Server故障,则会使用其他正常的Server IP进行Client的DNS响应。常见的探测方式有ICMP(90%都用的)、TCP以及上层应用如FTP/HTTP等。当然也可以再搞些HTTP重定向等特性,将GSLB设备放在数据中心站点的入口便于故障快速切换。
在vMotion应用场景中,由于VM在迁移前后的IP地址不变,因此两个数据中心站点的VM对外提供服务的Server IP地址相同,GSLB此时就需要服务器前面的SLB(Server Load Balance)设备进行配合了。SLB是个NAT(Network Address Translation)服务器,主要作用就是将后端真实服务器的IP和TCP/UDP Port等映射为对外提供服务的虚拟IP和TCP/UDP Port,然后将不同Client访问虚拟IP的流量修改目的IP后,分别发到后端的不同真实服务器上,以达到对后端多台真实服务器的流量负载均担效果。SLB同样需要对真实服务器进行探测,以及根据不同的算法规则将Client流量均匀Hash到不同的真实服务器上。使用不同的SLB可以将后端相同的真实服务器IP映射为对外的不同虚IP地址,此时配合GSLB就可以解决vMotion前后VM服务IP相同的迁移切换问题。另外如VMware的VM管理控制平台vCenter可以将vMotion动作通知GSLB设备,达到快速切换效果。下面以Cisco的技术结构截图举例,其中的GSS就是GSLB,ACE为SLB。其他厂家的方案在技术结构上也没有啥根本区别。
说实话个人觉得GSLB技术没有啥难度可言,DNS解析和调度算法都是现成的东东,稍微有点儿技术实力的厂商都能做个盒子出来。这个东西关键在于性能,由于DNS解析等上述功能行为都得靠CPU实现,没有啥公用芯片,那么就看谁家的算法实现效率高,谁家支持的新建并发规格大。如果性能规格差不多,都能满足需求,再要考虑的就是可靠性和性价比了。关于衡量数据中心性能和可靠性的问题,会在本文的相关外篇中再深入讨论。