我有一个烧瓶应用程序在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 :'(