现在的位置: 首页 > 综合 > 正文

负载均衡技术:F5 Load Balance Q_A

2018年03月30日 ⁄ 综合 ⁄ 共 2533字 ⁄ 字号 评论关闭
Q: 服务器负载均衡有哪些实现方法? 
A: 实现服务器负载均衡有多种方法,常见的方法有: 
1.基于DNS 轮询的方法:即在DNS 服务器中对同一域名设置多条DNS A 记录,通过DNS 的轮询机制实现服务器负载均衡。 
2.基于服务器集群的方法; 
3.基于应用软件的实现方法,在应用软件设计中就考虑了多服务器之间的协同工作与任务调度。这种方法一般会有一台服务器作为中枢对访问请求进行调度,同时要求在应用层支持访问重定向或任务调度、跳转机制。 
4.采用专门的L4/L7 层交换机来实现,也即我们常说的负载均衡器。一般都是通过在L4/L7 层交换机作地址转换(NAT)来实现。 
5.基于代理方式的负载均衡算法。 


Q: 请简单介绍F5 L4/L7 层交换机对服务器作负载均衡的工作过程。 
A: F5 L4/L7 层交换机对服务器作负载均衡时主要包括以下几个过程: 
1.截获和检查分析流量:保证只有合适的数据包才能通过 
2.服务器监控和健康检查:随时了解服务器群的可用性状态 
3.负载均衡和应用交换功能:通过各种策略或负载均衡算法将访问请求导向到合适的服务器,这一过程包括目标服务器的选择及地址转换(NAT)过程。 
4.会话的保持(Persistence):通过会话保持,保证一系列相关连的会话不会被负载均衡到不同的服务器上。

Q: F5 L4/L7 层交换机对服务器作负载均衡时是怎样做地址转换的(NAT)。 
A: F5 L4/L7 层交换机对服务器作负载均衡是采用基于网络地址转换(NAT)的负载均衡技术 。 如:负载均衡器后面的一组服务器10.1.1.4:80、10.1.1.5:80、10.1.1.6:80 对外构成一台虚拟的服务器(Virtual Server)192.168.101.1:80,对外提供服务。当一个访问虚拟服务器192.168.101.1:80 的请求到达负载均衡器以后,负载均衡器根据预先设定的负载均衡算法从服务器pool(WEB_POOL)中挑选一台服务器来服务该请求,例如选定的是10.1.1.4:80;然后通过网络地址转换(NAT)将访问请求包的目的地址与端口转换成10.1.1.4:80,并将数据包发给10.1.1.4。服务器10.1.1.4
处理访问请求,并作出回应。回应的包必须返回到负载均衡器上,由负载均衡器将回应包的源地址与端口转换回虚拟服务器的地址与端口,并返回给客户。这样完成一次访问过程。 

Q: 基于Layer 4 的负载均衡与基于Layer 7 的负载均衡有什么区别? 
A: 基于Layer 4 的负载均衡在截取数据流以后,对数据包要检查与分析的部份仅仅限于IP 报头及TCP/UDP 报头,而不关心TCP 或UDP 包内部信息。而基于Layer7 的负载均衡,则要求负载均衡器除了支持Layer4 负载均衡以外,还要理解数据包中4 层以上的信息,也即应用层的信息。例如,可以理解分析http 协议,从数据包中提取出http uri 或cookie 信息。基于Layer4 与基于Layer7 负载均衡或交换对数据包检查的深度不一样,基于Layer4
的交换偏重的是网络层,而Layer7 偏重的是应用层,与应用结合很紧密。负载均衡器在作这两种方式的负载均衡时的性能也不一样。 

Q: 为什么需要基于Layer7 的负载均衡? 
A: 简单来说,之所以需要基于Layer7 的负载均衡,有以下原因: 
1.会话保持(Persistence)的需要:在很多应用中,单靠Layer4 层的信息,也即IP 地址与端口的信息,是不足以分辨出会话的相关性。这样要实现会话保持,就必须依靠于Layer7 交换。 
2.应用安全的需要:要做到应用级的安全,负载均衡器必须能检查、分析应用层的信息,并以此作为流量分发、访问控制的依据。 
3.服务器、应用健康检查的需求:如前面所述,负载均衡器还有一个重要任务就是要及时发现服务器上的异常情况,这种异常情况不仅仅限于网络故障,还包括服务或应用能不能对访问请求作出正确的响应。这也是要通过对数据包的应用层进行分析才能实现。 

Q: F5 Bigip 负载均衡器支持哪些负载均衡算法? 
A: F5 Bigip 负载均衡器支持的负载均衡算法包括: 
1.轮询(RoundRobin):顺序循环将请求一次顺序循环地连接每个服务器。当其中某个服务器发生第二到第7 层的故障,BIG/IP 就把其从顺序循环队列中拿出,不参加下一次的轮询,直到其恢复正常。 
2.比率(Ratio):给每个服务器分配一个加权值为比例,根椐这个比例,把用户的请求分配到每个服务器。当其中某个服务器发生第二到第7 层的故障,BIG/IP 就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。 
3.优先权(Priority):给所有服务器分组,给每个组定义优先权,BIG/IP 用户的请求,分配给优先级最高的服务器组(在同一组内,采用轮询或比率算法,分配用户的请求);当最高优先级中所有服务器出现故障,BIG/IP 才将请求送给次优先级的服务器组。这种方式,实际为用户提供一种热备份的方式。
4.最小的连接数(LeastConnection):传递新的连接给那些进行最少连接处理的服务器。当其中某个服务器发生第二到第7 层的故障,BIG/IP 就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。 
5.最快模式(Fastest):传递连接给那些响应最快的服务器。当其中某个服务器发生第二到第7层的故障,BIG/IP 就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。 
6.观察模式(Observed):连接数目和响应时间以这两项的最佳平衡为依据为新的请求选择服务器。当其中某个服务器发生第二到第7 层的故障,BIG/IP 就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。 
7.预测模式(Predictive):BIG/IP 利用收集到的服务器当前的性能指标,进行预测分析,选择一台服务器在下一个时间片内,其性能将达到最佳的服务器相应用户的请求。(被big/ip 进行检测) 
8.规则模式(iRule):针对不同的数据流设置导向规则,用户可自行编辑流量分配规则,BIG/IP利用这些规则对通过的数据流实施导向控制。

抱歉!评论已关闭.