网络工程 · 1 3 月, 2021 0

负载均衡器(Load Balancer)如何保持会话

负载均衡器(Load Balancer)如何保持会话

参考:

https://www.infraexpert.com/study/loadbalancer5.html
https://support.f5.com/csp/article/K83419154

※以下内容以BIG-IP实现的HTTP负载均衡为例

利用源地址(Source address affinity persistence)

根据发送请求的客户端IP维持会话

利用cookie(Cookie persistence)

Insert Mode

LB设备在为客户端选定server后在server回复客户端的response里加入cookie(名为BIGipServer,内容为对应server的地址端口(当然是编码过的)以及有效期)。之后客户端的请求都会带着这个cookie,LB设备以此判断将请求发往哪台server。※似乎是被用的最多的方法

Rewrite Mode

由server向response里写入cookie(一般会有特定的要求,如名称必须为BIGipCookie,cookie的值“must contain a total of 120 zeros”之类的),LB设备会修改cookie的值(如名称BIGipCookie→BIGipServer,内容改成对应server的地址端口(当然是编码过的))

Passive Mode

由server向response里写入cookie,LB设备仅读取cookie的值。因此server有责任确保cookie含有需要的server信息

Hash Mode

由server向response里写入cookie,LB设备对cookie计算散列并创建散列到server的映射关系

夹带私货

  • BIG-IP AFM用于配置会话保持的GUI界面位于Local Traffic > Profiles > Persistance > cookie。可定制,可新建

  • 应用配置的界面为Local Traffic > Virtual Servers > > Resources > Default Persistence Profile