隨筆Day——9

F5 LTM

F5在創建會話保持的時候,除了cookie類型的會話保持,其餘的會話保持類型中都有這樣的三個選項,分別是Match Across Services、Match Across Vitual Servers、Match Across Pools這三個選項,那麼這三個選項分別是什麼意思呢?
在這裏插入圖片描述

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章