【问题标题】:Persistent & clustered connections with traefik reverse proxy使用 traefik 反向代理的持久和集群连接
【发布时间】:2017-06-30 01:53:31
【问题描述】:

假设我有一个数据库副本集群,我想在前端提供这些副本。这些数据库相互复制。如果可能,我能否让 Traefik 为相同的客户端 IP 提供相同的后端,这样即使数据库仍在复制最新状态,UI 也可以保持一致?

【问题讨论】:

    标签: cluster-computing reverse-proxy traefik


    【解决方案1】:

    您似乎要求的是基于每个 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。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-07
    • 1970-01-01
    • 2021-09-07
    相关资源
    最近更新 更多