随笔Day——9

随笔Day——9

  • F5 LTM
    • Match Across Services
    • Match Across Virtual Servers
    • Match Across Pools

F5 LTM

F5在创建会话保持的时候,除了cookie类型的会话保持,其余的会话保持类型中都有这样的三个选项,分别是Match Across Services、Match Across Vitual Servers、Match Across Pools这三个选项,那么这三个选项分别是什么意思呢?
随笔Day——9_第1张图片

Match Across Services

当勾选了这个选项之后,同一个客户端在访问相同VIP不同端口的情况下,会将会话信息维持在同一台node上。举个例子:
VS1:192.168.1.1 port 80
member1:172.16.1.1 port 80
member2:172.16.1.2 port 80
VS2:192.168.1.1 port 443
member1:172.16.1.1 port 443
member2:172.16.1.2 port 443
这个时候有一个客户端,IP地址为192.168.1.2来访问VS1,在第一次访问的时候,通过负载均衡算法把这个分发到了member1里面,即172.16.1.1:80,这个饿时候会在F5上生成一个会话保持表,当下一次这个客户端再访问VS2的时候,F5会根据这个会话保持表将这个会话分发到相同的node,即172.16.1.1:443上,而不会分发到172.16.1.2:443上,这样的好处是什么呢?举一个实际的应用场景(IP地址的划分还是按照上面的来):
现在有一个购物的业务,浏览物品的业务是用的VS1及对应的member,结算业务对应的是VS2及对应的member,在VS1上进行了跳转设置,当用户点击结算进行结算动作的时候会自动跳转到VS2上,这个时候就涉及到一个问题,如果在结算跳转的这个步骤时,分发到了172.16.1.2:443这台服务器上,用户的会话信息就会丢失,就意味着用户刚才添加到购物车里的物品丢失,这是很糟糕的购物体验的。Match Across Services这个选项就是为了解决这样的问题的。因为在跳转的时候可以将同一个客户端过来的链接分发到相同的node上面,这个时候用户的会话信息就不会丢失。

Match Across Virtual Servers

当勾选了这个选项之后,同一个客户端,无论访问什么VS,都会将会话维持在相同的node上。举个例子:
VS1:192.168.1.1 port 80
member1:172.16.1.1 port 80
member2:172.16.1.2 port 80
member3:172.16.1.3 port 80
VS2:192.168.1.2 port 443
member1:172.16.1.1 port 443
member2:172.16.1.2 port 443
member3:172.16.1.3 port 443
VS3:192.168.1.3 port 8080
member1:172.16.1.1 port 8080
member2:172.16.1.2 port 8080
member3:172.16.1.3 port 8080
假设一个192.168.1.2的客户端再第一次访问192.168.1.1:80这个VS的时候,通过负载均衡算法将会话分发到了172.16.1.1:80这个member上,这个时候会生成一个会话保持表,在下一次同样的客户端访问VS2的时候,会根据这个会话保持表将会话分发到172.16.1.1:443上,同理当客户端访问VS3的时候,会被分发到172.16.1.1:8080上。这个选项没有想到很好的应用场景,个人认为唯一的好处就是会一定程度上减少会话保持表的数量吧;

Match Across Pools

当客户端在访问一个VS的时候,第一次负载到一个pool里面的一个member,在下一次需要被负载到另一个pool的时候,会仍然被负载到之前的member上。举个例子:
VS:192.168.1.1 port 80
iRules:

when HTTP_REQUESTif {[HTTP::uri] start_with "/a" }
{ pool http_pool1
    }
elseif { [HTTP::uri] start_with "/b"}
{ pool http_pool2 
    }

http_pool1:
172.16.1.1:80
172.16.1.2:80
http_pool2:
172.16.2.1:80
172.16.2.2:80
现在有一个192.168.1.2的客户端来访问VS,访问的路径是http://192.168.1.1/a,这个时候根据iRules会分发到http_pool1,根据负载均衡算法分发到172.16.1.1:80这个member上,并生成会话保持表,如果下一次同样的客户端以http://192.168.1.1/b这样的路径来访问的时候,会忽略iRules的逻辑,直接根据之前的会话保持表将链接分发到172.1.1:80这个member上

官网说明原文链接:https://support.f5.com/csp/article/K5837

你可能感兴趣的:(随笔Day——9)