在真正的网络或者数据中心的建设中,肯定会使用负载均衡器来进行网络的调谐作用。那么,对于学习这方面知识的朋友们就很有必要把相关的术语和算法都要搞清楚。作为基础,本文并不多深入的讲解。只是将重要的概念进行归纳和总结,方便读者们了解其内容。
GSLB(Gloab Server Load Balance,全局负载均衡)
作用:实现在广域网(包括互联网)上不同地域的服务器间的流量调配,保证使用***的服务器服务离自己最近的客户,从而确保访问质量
分类:基于DNS实现、基于重定向实现、基于路由协议实现
特点:能通过判断服务器的负载,包括CPU占用、带宽占用等数据,决定服务器的可用性,同时能判断用户(访问者)与服务器间的链路状况,选择链路状况***的服务器。因此GSLB是对服务器和链路进行综合判断来决定由哪个地点的服务器来提供服务,实现异地服务器群服务质量的保证。
使用范围:所有有多个站点的系统,最常见的是在CDN系统中作为核心的流量调度系统
负载均衡器:
1.负载均衡算法:
◆Round Ronbin(轮询)
◆Weigh Round Ronbin(加权轮询)
◆最小链接数
◆最短响应时间
2.术语:
VIP(virtual IP):用户访问的地址(负载均衡器的地址)(可通过nslookup查询域名信息,已获得该VIP)
Self IP:服务器本身的真实地址(可能是实际地址,但大多数互联网公司使用的都是内网地址)
Pool(池):用于处理相同任务的一组服务器组成一个pool,pool中每个服务器被叫做一个pool member(池成员)
健康检查(Health Check):主要是指SLB器对服务器进行监听。以确定服务器运行正常。一般采用轮询的方式。
具体方法包括:
◆ping(不保险的方法,能ping通不一定运行正常)。
◆TCP/UDP端口检查。
◆服务检测,http、Mysql等,相当于进行一个简单的功能测试。
◆会话保持(Persistent)
会话保持的基本方法:
◆基于原IP的(利用hash算法关联到特定的服务器)
◆基于时间的,一定时间内给予会话保持,超出时限,负载均衡器则要重新定位处理请求的服务器。
◆Cookie Insert:主流方式(这才是王道),负载均衡器添加上Cookie信息作为***请求的相应发给客户。再次请求时根据Cookie定位到上次进行服务的服务器,SLB不用为请求重分配服务器。
◆SLB器的双机热备:active/standby方式,但采用的是 active SLB器的单向心跳方式,当standby机听不到active SLB器的心跳时,就会自动切换到active状态,同时原active机的VIP会“飘”(切换)到新的active机上,同时也会更新ARP。双机热备的有关软件:keepalived