0
假設我有一組數據庫副本,我希望在前端下可用。這些數據庫相互複製。如果可能,我可以讓Traefik爲相同的客戶端IP提供相同的後端服務,這樣即使數據庫仍在複製最新狀態,UI也可以保持一致嗎?使用traefik反向代理的持久性和羣集連接
假設我有一組數據庫副本,我希望在前端下可用。這些數據庫相互複製。如果可能,我可以讓Traefik爲相同的客戶端IP提供相同的後端服務,這樣即使數據庫仍在複製最新狀態,UI也可以保持一致嗎?使用traefik反向代理的持久性和羣集連接
你似乎要求的是基於每個IP地址的粘性會話(又名會話親和性)。
Traefik支持基於cookie的粘性,這意味着如果啓用相關Traefik選項,將在初始請求上分配cookie。隨後的請求將到達相同的後端,除非它無法到達,此時將選擇新的粘滯後端。
選項可以這樣啓用:
[backends]
[backends.backend1]
[backends.backend1.loadbalancer]
sticky = true
文檔可以發現here(搜索 「粘性會話」)。
如果您正在使用Traefik(例如Docker,Kubernetes,Marathon)運行其中一個動態提供程序,通常會有標籤/標籤/註釋可用於您設置每前端。 TOML configuration file documentation包含所有的細節。
如果您正在尋找真正的基於IP地址的粘性,IP地址空間被散列並且流量在所有後端均勻分佈:儘管存在open feature request,但目前尚不可能。
我明白了,謝謝!聽起來像它不會完全解決我們的用例 - 我們有一個Web前端,以及通過移動應用程序通過couchbase lite連接到數據庫。不確定這個連接是否可以輕鬆地接受/重新發送cookie。 –