nginx會話保持

2022-06-21 21:42:13 字數 768 閱讀 1936

nginx會話保持主要有以下幾種實現方式。

1、ip_hash

ip_hash使用源位址雜湊演算法,將同一客戶端的請求總是發往同乙個後端伺服器,除非該伺服器不可用。

ip_hash語法:

upstream backend 

ip_hash簡單易用,但有如下問題:當後端伺服器宕機後,session會話丟失;同一客戶端會被**到同乙個後端伺服器,可能導致負載失衡;

2、sticky_cookie_insert

使用sticky_cookie_insert啟用會話親緣關係,這會導致來自同一客戶端的請求被傳遞到一組伺服器的同一臺伺服器。與ip_hash不同之處在於,它不是基於ip來判斷客戶端的,而是基於cookie來判斷。因此可以避免上述ip_hash中來自同一客戶端導致負載失衡的情況。(需要引入第三方模組才能實現)

sticky模組

語法:

upstream backend 

​server

}

說明:expires:設定瀏覽器中保持cookie的時間domain:定義cookie的域path:為cookie定義路徑

3.jvm_route

jvm_route的原理

一開始請求過來,沒有帶session資訊,jvm_route就根據round robin的方法,發到一台tomcat上面。

tomcat新增上session 資訊,並返回給客戶。

使用者再此請求,jvm_route看到session中有後端伺服器的名稱,它就把請求轉到對應的伺服器上。

nginx 會話保持

ip hash使用源位址雜湊演算法,將同一客戶端的請求總是發往同乙個後端伺服器,除非該伺服器不可用。ip hash語法 upstream backendip hash簡單易用,但有如下問題 當後端伺服器宕機後,session會話丟失 同一客戶端會被 到同乙個後端伺服器,可能導致負載失衡 使用stic...

nginx負載均衡保持session會話一致

負載均衡時,為了保證同一使用者session會被分配到同一臺伺服器上,可以使用以下方法 1.使用cookie 將使用者的session存入cookie裡,當使用者分配到不同的伺服器時,先判斷伺服器是否存在該使用者的session,如果沒有就先把cookie裡面的sessoin存入該伺服器,實現ses...

Nginx負載均衡session會話保持方法

負載均衡時,為了保證同一使用者session會被分配到同一臺伺服器上,可以使用以下方法 1.使用cookie 將使用者的session存入cookie裡,當使用者分配到不同的伺服器時,先判斷伺服器是否存在該使用者的session,如果沒有就先把cookie裡面的sessoin存入該伺服器,實現ses...