首页 > 编程知识 正文

文件服务器负载均衡(服务器负载均衡分配)

时间:2023-05-03 16:51:18 阅读:71928 作者:1542

引言

近年来,随着互联网的迅速发展和企业APP应用的WEB化,服务器负载均衡(SLB )技术已经不为人知。

服务器负载平衡根据用户数据请求的第4层到第7层信息智能地传输到后端较少的几台、最多的数百千台APP应用服务器

它还根据预定义的策略选择最适合传输的服务,从而在一定程度上解决了APP应用程序可用性、可扩展性等问题。

但是,随着用户对APP应用程序可用性和可扩展性的需求进一步提高,越来越多的用户不满足于在单个数据中心提供服务,他们开始考虑灾难恢复、用户邻居访问等问题。

这是负载均衡器内的全局服务器负载均衡技术(GSLB )要解决的问题。 尽管GSLB技术是几年前几乎所有负载均衡装置提供的必需功能,

但是,由于用户需求小、功能不充分、性能不足、价格高等因素,目前引入GSLB的用户在负载均衡的所有用户群中所占比例还很小。 我相信未来几年,GSLB的应用比例将迅速增长。

本文介绍GSLB相关技术和解决方案。

GSLB技术

市场上存在的GSLB技术可以归纳如下。

基于DNS的GSLB

大多数使用负载平衡技术的APP应用程序都必须通过域名访问目标主机,并且在用户发出连接到APP应用程序的请求时,必须首先通过DNS请求获取服务器的IP地址。 基于DNS的GSLB在返回DNS分析结果的过程中做出智能决策。

返回最适合用户的服务IP。 用户应用进程与没有GSLB时没有任何变化。 这也是市场上主流的GSLB技术。

基于重定向的GSLB应用

基于APP应用重定向的GSLB在负载均衡设备接收用户APP应用请求、选择最佳服务IP之后,经由APP应用层协议将用户请求重定向到所选择的最佳服务IP。 此方法仅适用于支持重定向的协议,如HTTP、MMS等,这会降低性能。

基于IP地址伪装(三角传输)的GSLB

各个负载均衡设备制造商采用该技术实现了GSLB。 当用户APP应用程序请求到达负载均衡器时,该负载均衡器计算最适合为同一供应商的另一负载均衡器定义的用户的服务IP,并将用户请求转发到IP。

第二个负载均衡器直接向用户返回响应,但必须将源地址更改为第一个负载均衡器的服务IP。 使用这种方法,所有站点都必须是同一制造商的负载平衡设备,并且寻址数据包可能会被互联网上的路由设备过滤掉。

所有用户请求都是在wan三角中发送的,而不是发送到最佳负载平衡设备,从而降低了用户访问和性能。

通过主机路由注入进行gslb(anycast ) ) ) ) ) ) ) )。

在多个站点定义相同的服务IP,负载均衡器或路由器发送该IP的主机路由。 这样,网络中就有多个到达该主机地址的路由。 因为路由设备总是选择最近的(度量最小的)路由来传输数据,

用户的访问请求始终转发到最近的负载平衡设备。 由于这种方式在不同的网站上广播同一主机路由,因此由于运营商的限制问题难以实现。 此外,这种方式的策略非常简单,只能根据最短的路径进行选择,顾客无法定义灵活的选择策略。

上述分析表明,后三种方式的局限性和性能都很差,因此基于DNS的GSLB成为主流技术。 在基于DNS的GSLB的具体实现中,不同厂商的功能也不同,一些用户独自开发智能DNS来实现同样的功能。

通常,基于DNS的完整GSLB设备可以满足以下要求:

支持所有IP APP应用程序。

每个服务站点可以使用不同制造商的本地服务负载均衡器,也可以直接使用实际服务。

GSLB控制设备可以直接用作许可证DNS,也可以配置为DNS代理方法。 DNS代理方法可以在执行GSLB决策控制的同时平衡后端DNS服务器的负载。 如果流量增加,则可以通过增加后端的实际DNS服务器数量来进行扩展。

它内置了国际INA组织提供的全球区域地址分配表,用户定义的区域可以包含足够数量的IP前缀。 它还支持树层次结构,如China.Beijing.HaiDian。 GSLB控制设备选择静态的基于区域的服务站点时需要这些功能。

a支持返回记录,如记录和CNAME。 特别是多级GSLB控制时,需要返回CNAME。

支持丰富的GSLB策略,包括往返时间(RTT )、权重和活动服务器。

灵活的自定义脚本,用于过滤各种非法的DNS请求和攻击。

强大的DDoS防攻击功能。 GSLB控制装置被攻击停机后,所有业务都无法提供。

基于DNS的GSLB机制

简要介绍基于DNS的GSLB的工作原理。

在上图中,中央控制节点配置了一个GSLB控制器和几个指定域名(abc.com)的许可证DNS服务器,GSLB控制器除了由GSLB控制外,还负载到DNS服务器和其他APP应用服务器

设立两个网站(以中国电信和中国网通为例)提供APP应用服务。 工作流程如下:

1 )用户请求访问http://www.abc.com,并将有关www.abc.com的DNS请求发送到本地DNS服务器;

2 ) Local DNS通过根DNS服务器查询abc.com许可DNS服务器,Local DNS将DNS请求发送到许可DNS服务器。

3 ) GSL

B Controller 截获DNS服务器返回的应答,并基于一组策略选择最佳的站点VIP 地址,返回给Local DNS服务器。
GSLB Controller也可以根据事先定义的策略返回CNAME记录,在大规模的多级GSLB设计中会用到这种方式。Local DNS会递归发送DNS请求到负责指定CNAME域的下一级GSLB Controller。
4)        Local DNS服务器返回该DNS应答到用户。
5)        用户根据解析到的IP地址建立连接进行正常访问。
 
从GSLB处理流程可以看出,其核心在GSLB策略。接下来简单介绍一下常用的一些GSLB策略。
1)        各内容站点的“健康状况”
GSLB Controller对各内容站点负载均衡设备上定义的VIP或服务器(没有本地负载均衡的情况)进行第四层TCP/UDP健康检查和第七层应用健康检查。未能通过健康检查的站点不会被选为最佳的内容节点。
 
2)        地理区域或用户自定义区域
一个区域为若干条IP地址前缀。根据用户本地DNS的IP地址,将特定IP范围的用户优先分配到某个通过健康检查的站点。值得一提的是,由于DNS本身的工作原理所限,GSLB Controller只能看到用户本地DNS的IP地址,
而不是用户终端的IP地址。当用户使用错误的本地DNS(如教育网用户配置网通的DNS服务器)时,GSLB Controller返回的DNS应答将不是最佳的站点。这是基于DNS的GSLB的一个弱点,
但由于绝大部分运营商现在限制其他运营商的客户使用自己的DNS,出现这种错误配置的比例非常小。
 
3)        IP地址权重
可以为DNS应答中的每个IP地址分配权重,权重决定与其他候选IP相比分配到该IP的流量比例。
 
4)        站点(Site)权重
可以为每个Site分配权重,权重决定与其他候选Site相比分配到该Site的流量比例。
 
5)        会话能力阈值
通过厂商自由的GSLB协议,GSLB Controller可以获得每个站点负载均衡设备当前可用会话数和会话表大小的最大值,当前会话数/最大会话数比值超过定义的阈值时,该站点不再被选择。
 
6)        活动服务器
指一个GSLB节点绑定到一个VIP上的活动真实服务器数量。可以配置策略优先选择活动服务器最多的IP地址。
 
7)        往返时间(RTT)
RTT策略是基于区域之外最常用的策略。有两种模式的RTT测量:Active RTT测量与Passive RTT测量。在实际部署中,由于网络限制和性能原因,Active RTT往往无法使用,Passive RTT更实用一些。
a)         Active RTT 测量
-       当GSLB Controller收到来自LDNS的DNS请求时,GSLB Controller会通知所有站点负载均衡设备对该LDNS进行RTT测量。根据采集到的RTT值,GSLB Controller会选择RTT值最小的站点的VIP返回给LDNS。
-       由于Active RTT采用DNS Query或ICMP进行RTT测量,在有些网络中可能会被安全策略所过滤而无法工作。
-       Active RTT测量会产生额外的DNS Query或ICMP流量,在有些网络中用户不希望有太多类似的非用户流量。
b) Passive RTT测量
-       Passive RTT测量不会主动去进行测量,也不会产生额外的数据流量,而是在用户向返回的VIP建立连接时进行采集。
-       Passive RTT测量指从内容站点收到一个用户发出连接请求(发送TCN SYN)到接收到用户的确认(收到TCP ACK)所经历的时间。而不是简单的PING的响应时间,可以更精确的衡量访问最快的站点。
-       Passive RTT的测量值真正反映了用户的上网感受 ,在运营商网络中也不会产生额外流量。也不会受到其他运营商或网络的安全策略的影响。
与基于区域的策略相同,用户配置错误的DNS时,基于RTT的选择也将不是最佳的。
 
8)        当前可用会话数
 
9)        站点管理优先级(Admin Preference)
为每个站点预设优先级,选择优先级较高的站点。
 
10)           最少选择
选择从前被选择的次数最少的节点。
 
11)     轮询(Round Robin)
采用轮询方式选择站点。
 
总结
       尽管基于DNS的GSLB在特殊情况下(用户配置错误DNS)准确性会降低,但其丰富的策略、可扩展的性能、适用任何IP应用协议、不受互联网访问策略影响以及无改变的业务流程等优势使其成为最主流的GSLB技术,
诸多厂家也都在这一技术上不断进行完善。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。