这一篇吃透负载均衡妥妥的(就是让你搞懂硬件负载均衡)
这一篇吃透负载均衡妥妥的(就是让你搞懂硬件负载均衡)LTM的全代理体系结构下图所示。LTM能够针对客户端和服务器端分别进行优化。本篇文章通过介绍F5 LTM的负载均衡功能,老狗这里以偏概全的给同学们展示硬件负载均衡的原理和应用场景。LTM使用的是实时的应用全代理操作系统,部署在客户端和服务端之间。全代理的含义是LTM将客户端和服务器端的会话分成两段,分别和两端建立会话,所有会话都要通过LTM进行全内容检测和分发。
硬件负载均衡是一种专用的网络设备。通常使用专用的ASIC芯片和独立的操作系统,性能稳定、功能强大,适用场景众多。
硬件负载均衡最重要的特点是其商用的属性,只要购买了维保,就有售后支持。不用怕搞不定,有问题,打电话啦。
言归正传,本文就是让你搞懂硬件负载均衡,让自己在运维中充满自信。
00 写在前面业界主流的硬件负载均衡厂商主要包括F5、A10、Radware、Array、深信服、梭子鱼等国内外品牌。其中F5是毋庸置疑的全球应用交付网络(负载均衡)领域的领导者,也是开山鼻祖。
本篇文章通过介绍F5 LTM的负载均衡功能,老狗这里以偏概全的给同学们展示硬件负载均衡的原理和应用场景。
01 基础结构LTM使用的是实时的应用全代理操作系统,部署在客户端和服务端之间。
全代理的含义是LTM将客户端和服务器端的会话分成两段,分别和两端建立会话,所有会话都要通过LTM进行全内容检测和分发。
LTM能够针对客户端和服务器端分别进行优化。
LTM的全代理体系结构下图所示。
02 基本元素根据LTM的应用特点和系统需求,按照流量的处理流程可将LTM中基本元素按下图的方式组合在一起。
(1).Virtual Server (VS) 虚拟服务器
VS是进入LTM处理流量的入口。VS的格式是IP:Port,即IP地址和端口的组合。用来标识一组具体的应用,所以有的地方称作负载组,
(2).Profile 一种分发规则
当流量进入 BIG-IP LTM 之后,怎样去处理和识别进入 VS 的流量,就需要由 Profile来定义,所以Profile可看作一种分发规则。
(3).Pool 地址池
Pool是一组具有相同服务的后台服务器节点的组合。Pool的作用就是根据预先定义分发规则,对 VS 接收进来并且被 Profile 处理之后的流量进行分发,分发到 Pool 内的 member 上。
(4)Member 成员
Member的格式是IP:Port 即IP地址和端口的组合。用来表示一个具体后台应用。
03 负载策略负载策略用于VS通过何种方式将流量分发到众多后台Member上。
负载策略主要包括以下种类:
(1).轮询 (Round Robin)、比率(Ratio):member/node/session
轮询(Round Robin)算法:顺序循环将请求一次顺序循环地连接每个服务器。当其中某个服务器发生第二到第7层的故障,LTM就把其从顺序循环队列中拿出,不参加下一次的轮询,直到其恢复正常。
比率(Ratio)算法:给每个服务器分配一个加权值为比例,根据这个比例,把用户的请求分配到每个服务器。当其中某个服务器发生第二到第7层的故障,LMT就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。
(2).最少链接
最少连接(Least Connection):member/node
加权最少连接(Weighted Least Connection):member/node
比率最小连接 (Ratio Least Connection):member/node
最少的连接方式(Least Connection)算法:传递新的连接给那些进行最少连接处理的服务器。当其中某个服务器发生第二到第7层的故障,LTM就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。
(3).最快响应(Fastest):node/application
最快模式(Fastest)算法:传递连接给那些响应最快的服务器。当其中某个服务器发生第二到第7层的故障,F5 BIG-IP就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。
(4)观察 (Observed):member/node、预测(Predictive):member/node
Observed(观察法)= 最小连接数 最快响应速度 (两种算法加权)
Predictive(预测 ):利用收集到的服务器当前的性能指标,进行预测分析,选择一台服务器在下一个时间片内,其性能将达到最佳的服务器相应用户的请求
观察模式(Observed)算法:以连接数目和响应时间这两项的最佳平衡为依据为新的请求选择服务器。当其中某个服务器发生第二到第7层的故障,F5 BIG-IP就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常
04 负载组类型VS Type(负载组类型)能够针对不同的流量实施不同的设置,根据流量特点进行引导。下图截了所有的类型。
这里介绍三种常用的VS Type类型:Standard、Performance L4、Performance HTTP。先看总结,再进行详细介绍。
1).Standard 标准模式
A. 标准模式同时使用四层 Profile,客户端先和LTM建立TCP会话,然后LTM在和后台服务器建立会话,两端会话分别建立。如下图所示。
B. 标准模式同时使用七层 Profile,客户端先和LTM建立TCP会话,然后客户端发送HTTP请求后,LTM在和后台服务器建立会话。如下图所示。
此种方式能有效降低服务器TCP会话数量,降低服务器的压力。
标准模式下,LTM默认以客户端源地址和后台服务建立连接。可通过开启SNAT/automap功能进行源地址转换。
根据标准模式的特点,可以看到 VS端口永远开放,无论后台是否有可用的服务。
(2). perfomance Layer4模式
Performance L4顾名思义,就是四层性能模式。LTM使用了PVA加速芯片,加速会话。使用此种模式时,会话不经过CPU,直接通过加速芯片进行处理。
Performance L4使用Fast L4 profile,进行会话建立时,是基于包到包的。LTM只负责客户端连接的分配和分发,不改变TCP连接中的任何参数。。如下图所示。
(2). perfomance HTTP模式
Performance HTTP顾名思义,就是七层性能模式。该模式对客户端的会话进行了聚合处理(默认开启One connect profile) 服务端收到的TCP连接都来自LTM。同时也开启了automap功能。
A.LTM和后台服务器先建立链接,等待客户端会话。
此种方式下,客户端发起请求后,直接接上LTM和后台服务器的会话,提升会话建立的效率。如下图所示。
05 小结上篇介绍了LTM的基本元素、负载均衡器的负载策略、以及常用的负载模式。这些都是通用的负载均衡器功能,希望对同学们有所帮助。
如果想精通掌握负载均衡,需要对TCPIP协议有深入的了解,特别是TCP会话建立和断链中的各个步骤。这里就要做一下硬广了,本老狗也同时推出了讲解TCPIP的文章《一文秒懂 TCPIP实际五层结构》,详见本号。
--喜欢的同学请点击一文秒懂 TCP/IP实际五层结构(上篇)