寻找一种使用haproxy持久化1个客户端到1个后端服务(在docker容器中)的解决方案

时间:2019-06-01 20:45:23

标签: persistence haproxy isolation

我有一个烧瓶应用程序在docker-compose管理的haproxy容器后面的Docker容器中运行。我的需求是,一旦将客户端路由到后端服务器,我希望它拥有该后端服务器的独占使用权,直到客户端保存它的工作或由于不活动而超时。

使用cookie可以为我提供所需的持久性,但是我无法阻止多个客户端使用同一容器。我将摇杆表视为一种可能的解决方案,但到目前为止仍未成功。

cat haproxy / haproxy.cfg 全球     安静

默认     全局登录     模式http     选项http-keep-alive     期权前转     超时连接60秒     超时客户端3600s     超时服务器3600s     默认服务器init-addr none

收听统计信息


resolvers docker_resolver
    nameserver dns 127.0.0.11:53

frontend my-proxy
    bind 0.0.0.0:8081
    use_backend appservice

backend appservice
    balance leastconn
    cookie SERVERUSED insert
    option httpchk HEAD /
    default-server check maxconn 1 maxqueue 0 resolvers docker_resolver
    server appservice upt_appservice_1:5000 cookie S1A
    server appservice upt_appservice_2:5000 cookie S2A
~~~ snip ~~~


multiple clients are being connected to already in-use containers :'(

0 个答案:

没有答案