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。 –