前面我们对服务器负载均衡做了介绍,大家也看出来了,当中负载均衡器起到决定性的作用。那么本文针对负载均衡器以及网络的4、7两个层面的交换内容进行了问答形式的介绍。希望大家能对这方面内容有所掌握。
Q:请简单介绍F5 L4/L7 层交换机对服务器负载均衡的工作过程。
A:F5 L4/L7 层交换机对服务器负载均衡时主要包括以下几个过程:
◆截获和检查分析流量:保证只有合适的数据包才能通过
◆服务器监控和健康检查:随时了解服务器群的可用性状态
◆负载均衡和应用交换功能:通过各种策略或负载均衡算法将访问请求导向到合适的服务器,这一过程包括目标服务器的选择及地址转换(NAT)过程。
◆会话的保持(Persistence):通过会话保持,保证一系列相关连的会话不会被负载均衡到不同的服务器上。
Q:F5 L4/L7 层交换机对服务器负载均衡时是怎样做地址转换的(NAT)。
A:F5 L4/L7 层交换机对服务器负载均衡是采用基于网络地址转换(NAT)的负载均衡技术 。一个典型的F5 L4/L7 层交换机对服务器负载均衡的网络拓扑:负载均衡器后面的一组服务器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:什么叫会话保持(Persistence)?
A: 会话保持(persistence)是负载均衡中一个特定而重要的概念。一个客户与服务器经常经过好几次的交互过程才能完成一笔交易。由于这几次交互过
程是密切相关的,服务器在进行这些交互过程的某一个交互步骤时,往往需要了解上一次交互过程的处理结果,这就要求所有这些相关的交互过程都由一台服务器完成,而不能被负载均衡器分散到不同的服务器上。而这一系列的相关的交互过程可能是由客户到服务器的一个连接的多次会话完成,也可能是在客户与服务器之间的多个不同连接里的多次会话完成。不同连接的多次会话,最典型的例子就是基于http 的访问,一个客户完成一笔交易可能需多次点击,而一个新的点击产生的请求,可能会重用上一次点击建立起来的连接,也可能是一个新建的连接。会话保持就是指在负载均衡器上有这么一种机制,可以识别做客户与服务器之间交互过程的关连性,在作负载均衡的同时,还保证一系列相关连的访问请求会保持分配到一台服务器上。
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 的负载均衡,有以下原因:
会话保持(Persistence)的需要:在很多应用中,单靠Layer4 层的信息,也即IP 地址与端口的信息,是不足以分辨出会话的相关性。这样要实现会话保持,就必须依靠于Layer7 交换。
应用安全的需要:要做到应用级的安全,负载均衡器必须能检查、分析应用层的信息,并以此作为流量分发、访问控制的依据。
服务器、应用健康检查的需求:如前面所述,负载均衡器还有一个重要任务就是要及时发现服务器上的异常情况,这种异常情况不仅仅限于网络故障,还包括服务或应用能不能对访问请求作出正确的响应。这也是要通过对数据包的应用层进行分析才能实现。
Q:对Lay4-7 层交换机或应用交换机一般要关注、了解哪些方面?
A:一般来说,对Lay4-7 层交换机或应用交换机,一般会提到以下几个因素:
支持的负载均衡算法
支持的服务器健康检查的方法
如何保持客户端和服务器的会话
速度/性能指标
安全性与可靠性
端口数量