NOVOTS KMS 词汇表 Glossary    联系我们 Contact Us
查询 Search  
   
按类别浏览 Browse by Category
NOVOTS KMS .: 其他 .: GLSB全局负载均衡原理及详解

GLSB全局负载均衡原理及详解

 

 

 

#GSLB(Gobal Server Load Balancing)

 

GSLB(广域网服务器负载均衡)

 

使用DNS技术,并将负载均衡技术扩展至广域网范围。

 

采用全局负载均衡(GSLB)的前提是在不同地区设立了多个数据中心,并不是所有的互联网服务都能做GSLB,前提是业务已经做了分布式部署的规划,无论用户从哪个IDC访问都能得到相同的结果,或者用户基本不会出现跨区域流动访问的情况,只会访问就近IDC,或者有一套入口调度机制,能将用户调度到所属的节点。

 

现在很多CDN也都提供动态内容的加速,只不过这个加速只是数据传输上的优化,可以看做给你做了很多个转发节点,最终业务处理压力还是源站承担。如果不具备分布式部署改造的条件,只是要解决远距离客户访问慢问题,可以考虑CDN

 


目前很多DNS服务商都提供了智能DNS服务,智能DNS可以通过多种负载均衡策略来将客户端需要访问的域名解析到不同的数据中心不同的线路上,比如通过各运营商分省IP地理信息数据来判断用户的就进性,并结合健康检查策略(通常是发一个固定的http请求)来分配访问量。

第三方智能DNS的不足在于通过公网健康检查可能会受到运营商网络拥塞的影响,目前国内域名服务商提供的服务目前还无法感知线路繁忙程度和后端服务器真实负载情况。除了使用智能DNS解析软件或者云服务,多数对可靠性和性能要求高的用户都会使用硬件的全局负载均衡解决方案。全局负载均衡设备以通过更丰富的维度来判断用户就进性,形成就进性表,除了分地域IP数据库外,还可以通过TTL、用户访问延时、服务器负载情况等来判断。

 

GSLB提供以下重要功能和优势:

 
  • 在站点失效时,确保业务可用

  • 确保业务连续性和应用的可用性

  • 通过将客户访问导向最近的站点,提供更快的响应速度并改善用户体验

  • 通过将请求分布到多个站点,增加数据中心效率

  • 提供灵活的策略实现流量在多个站点的分布.

    ###GSLB部署模式:

  • 代理模式(DNS Proxy

    设备能够对客户端请求的AAAAA记录类型进行应答,但对其他记录类型,则转发至外部DNS服务器。

  • 服务器模式(DNS Server

    设备对配置的GSLB域的查询请求直接进行应答。在服务器模式下,GSLB设备能够应答AAAAAMXNSPTRSRVSOA记录。对其他类型,会尝试代理模式。

    GSLB协议运行在4149端口。同时支持TCP/UDP协议。

    ####GSLB配置概念:

  • zone 是一个DNS,可配置一个或多个域。每个域包含一个或多个GSLB站点。

  • ServiceService即域服务,每个域可以配置一个或多个域服务.

  • SiteSite即站点,站点通常包括一组服务器,或被本地服务器负载均衡(SLB)设备管理的一组服务器。

    ###GSLB策略:
    #####Policy
    调度算法:

  • 健康检查—— 优先选用通过健康检查的服务IP

  • Weighted-IP —— 根据Service-IP上手工配置的权重来分配请求,权重高的Service-IP比权重低的Service-IP分配更多的请求。

  • Weighted-Site —— 根据站点上手工配置的权重来分配请求。

  • Capacity —— 根据站点配置的最大会话容量值,优先选用可用会话数量较多的站点。

  • Active-Servers —— 优先选用当前活动服务器数量较多的站点。

  • Geographic —— 优先选用在地理位置上最接近的客户端的站点。

  • Connection-Load —— 优先选用新建连接数量未超过设定阀值的站点。

  • Num-Session —— 当站点会话数量没有超出配置的会话容量阀值时,优先选择有效会话数量较多的站点。

  • Admin-Preference —— 优先选择手工设定优先级最高的站点。

  • Least-Response —— 优先选择命中次数最少的站点。

  • Admin-IP TOP Only —— 基于手工设定的权重来选择站点。

  • 轮询 —— 按照请求的顺序依次选择站点。

  • 管理员别名—— 优先选择手工设定优先级最高的DNS CNAME记录类型。这个度量方法与Admin-Preference类似,但仅应用于DNS CNAME记录类型。

  • 加权别名 —— 按照CNAME记录类型上设置的权重值来选择CNAME解析结果。这个度量方法与Weight-IP类似,但仅应用于DNS CNAME记录类型。

    默认情况下,只有健康检查、地域和轮询三种调度算法被启用,其它调度算法被禁用。

    注意:
    Alias-Admin-Preference
    在启用后,总是拥有最高的算法优先级.

  • Weight-IPWeight-Site算法
    允许有倾向的使用指定的站点或IP地址。GSLB会根据设定的权重值,更多的选用权重值较高的IP地址或站点。

  • 终极算法(Tie-Breaker

    GSLB设备使用轮询算法作为选择站点的终极算法,即便轮询算法在GSLB策略中被禁用。

  • Health Check

    健康检查调度算法检查真实服务器和服务端口的可用性。GSLB会优先选用那些真实服务器和服务端口能够正常应答健康检查的站点。

  • GSLB支持对以下应用类型的健康检查方法:

    ICMP(三层健康检查)、TCPUDPHTTPHTTPSFTPSMTPPOP3SNMPDNSRADIUSLDAPRTSPSIP.可以在任何一个服务上使用默认的健康检查或配置新的健康检查。

  • 健康检查的优先级

  • GSLB设备上的健康检查按照以下级别和顺序进行:
    网关健康检查
    端口健康检查
    IP
    健康检查(Service-IP上的三层健康检查)

  • Geo-Location
    可以配置GSLB,使其在DNS中应答距离客户端地理上最近的站点VIP.
    Geo-Location
    的基本配置:

    启用基于地理位置的GSLB调度算法(该算法默认开启)。

    导入地理位置数据。可以从文件中导入地理位置数据,或单独配置地理位置映射关系。

  • Alias-Admin-preferenceWeight-alias

    别名管理优先调度算法(Alias-Admin-preference)按照手工设定的管理优先级来选择CNAME记录。此算法可应用于DNS代理模式和DNS服务器模式。同样的,基于权重的别名调度算法(Weighted-Alias)选择具有较高权重的CNAME记录,也可应用于DNS代理模式和DNS服务器模式。

    这两种模式都需要进行额外的策略选项:

  • DNS 代理 — 启用“geoloc-alias“选项。在GSLBDNS服务器获取DNS应答后,GSLB按照IP调度算法策略选择一个DNS A记录,然后尝试按照地理位置信息将CNAME记录插入DNS应答中。当GSLB插入CNAME记录时,如果别名调度算法被启用,GSLB可能会移除一些CNAME记录和相关的Service-IP

  • DNS服务器 — 当DNS服务器模式可用时,启用“backup-alias”选项。如果没有DNS A记录返回,GSLB尝试插入所有的备用DNS CNAME记录。在插入时,如果别名调度算法被启用,GSLB尝试移除一些CNAME记录,并且不返回DNS A记录。这个选项同样需要在Service中配置“dns-cname-record as-backup

     
  1. DNS Options
    DNS
    选项对DNS应答给客户端的IP地址列表提供额外的控制。
    GSLB策略中,可以对以下DNS选项进行配置:
  2.  
 
    • 为服务应用DNS操作(dns action)— 允许GSLBService配置中执行特定的DNS动作。

    • 只保留活动服务器(dns active-only)—— 移除Service中未通过健康检查的IP地址。

    • dns addition-mx —— 当L1000-GL设备配置为DNS代理或缓存模式时,在返回的A记录附属部分中,附加MX记录。

    • 自动构建DNS基础结构(dns auto-map)—— 启用自动映射功能,根据L1000-GL设备配置的IP资源自动创建AAAAA记录,在VIPService-IP之间创建自动映射关系。

    • 失败时返回别名(dns backup-alias)— 当GSLB没有收到对服务查询的应答或没有活动的DNS服务器时,返回该服务配置的CNAME别名记录。这个选项对服务模式和代理模式均有效。

    • 失败时返回备用服务器(dns backup-server)— 如果主服务器失效,指定一个或多个能够应答给客户端的备份服务器

    • 缓存DNS服务器响应(dns cache)当应答客户端时,缓存并DNS解析结果,而不是对每一个客户端查询都发送新的DNS请求。

    • CNAME检测(dns cname-detect)禁用此选项将忽略CNAME应答。当该选项启用时,L1000-GL设备将对ZoneService应用CNAME记录策略,而不是应用IP地址记录策略。

    • 域委派(dns delegation)启用子域委派。这个功能允许将父域的部分DNS域名委派给到一个独立的子域。这个子域由其它一台或多台服务器进行解析。

    • 返回外部IP地址(dns external-ip)返回Service上配置的外部IP地址。如果禁用此功能,将返回Service的内部IP地址。

    • 外部SOAdns external-soa)用外部SOA记录来替换内部SOA记录,以阻止外部客户端获得那些本应对内部客户端有效的信息。如果禁用此功能,将会返回内部SOA信息。

    • 按地理位置应用DNS操作(dns geoloc-action)—— 按照客户端地理位置信息来处理DNS流量。这个选项应作为Service配置的一部分。

    • 基于地理位置返回别名(dns geoloc-alias)—— 用别名替换GSLB中配置的IP地址。

    • dns geoloc-policy 按地理位置应用DNS操作(dns geoloc-policy)—— 返回按照客户端地理位置信息配置的别名。

    • 提示(dns hint)—— 启用DNS应答附属部分的提示功能。针对客户端请求,提示通常为AAAAA记录类型。这些记录提供了主机名和IP地址之间的映射。

    • GSLB服务IP替换DNS服务器响应的IPdns ip-replace)—— 在Zone配置中,用Service中手工配置的IP地址进行替换。

    • dns ipv6 —— 启用对IPv6AAAA记录的支持。

    • 日志记录(dns logging)配置DNS日志功能。

    • DNS代理配置(dns proxy block)阻止从内部DNS服务器发送出来的DNS查询。此功能仅工作在DNS代理模式下。

    • 只保留选中的服务器(dns selected-only)—— 仅返回选定的IP地址。

    • 服务器模式(dns server)对GSLB Zone中的服务,使L1000-GL工作在DNS服务器模式。

    • 粘连(dns sticky)—— 对于单个客户端发送至相同Service的所有DNS请求,返回相同的Service-IP地址。

    • DNS服务器响应TTLdns ttl)—— 覆写DNS应答中设置的TTL值。

      默认配置下,cname-detectexternal-ip选项启用,其它DNS选项均禁用。
      粘连(Sticky),服务器模式(Server),缓存dns响应(Cache),和代理模式(Proxy)选项的执行顺序.

      如果启用了以下一个或多个选项,GSLB按照以下顺序进行执行:

  • (1) Sticky

  • (2) Server

  • (3) Cache

  • (4) Proxy

    GSLB会选用按照第一个配置项确定的可用选项并应答客户端。
    TTL
    覆写
    基于当前的网络状态,GSLB确保为客户端提供的DNS应答中包含最优的一组IP地址。然而,如果DNS解析记录的TTL值太大,本地DNS会对该应答缓存一段较长的时间直至缓存过期。因此,尽管L1000-GL设备具有当前准确的解析结果,客户端仍会收到失效的信息。
    为了确保客户端的本地DNS服务器不会过长的缓存DNS应答,可以配置GSLB设备,在DNS应答返回客户端之前,覆写其地址记录的TTL值。

    GSLB配置中,有两个地方可以覆写DNS应答的TTL值:

  • (1) 如果Service上指定了专门的GSLB策略,使用GSLB策略中设定的TTL值。

  • (2) 如果Service上没有专门的GSLB策略,但Zone配置中设置了TTL值,则使用Zone配置中的TTL值。

  • 默认配置下,TTL覆写功能未配置。

     

    局限性

    请注意GSLB设备收到的DNS请求的源地址不是用户的地址而是用户所配置的本地DNS服务器地址,而GSLB的就进性探测是根据这个地址来判断的,在我国大多数ADSL拨号上网用户都能就近分配正确的数据中心,但是当用户用户通过4G移动网络上网的情况下,客户会一直使用归属地的DNS服务器,或这手动设定本地DNS而设置的DNS距离用户较远的情况,GSLB不能分配最佳的地址。这种情况很常见,国内有很多人使用google的公有dns或者opendns

    这种情况可以使用重定向来解决,SLB设备正式收到用户发来的请求时,会再次查找就进性表,当发现用户的最佳访问节点非自己时,通过http 302重定向来再次引导用户流量。

     


这篇文章对你多有用?

用户评语

添加评语
当前还没有评语.


.: .: .: .: .:
[ 登陆 ]
北京护航科技有限公司 2006

Novots Technologies Limited