我正在尝试使用 VirtualBox 上的 haproxy 进行负载平衡,只是为了在继续在 Digital Ocean 上进行设置之前查看一切是否正常工作。当我选择模式 http 时,我可以决定如何平衡请求,但是当我选择模式 tcp 时,来自同一台机器/客户端的所有请求都会发送到同一台服务器,并且不会交替。我希望它与 roundrobin 或 leastconn 交替。我想设置最简单的配置文件来实现这一点。这是我目前拥有的。但它并没有像我描述的那样工作。
global
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4096
user haproxy
group haproxy
daemon
defaults
mode tcp
frontend main *:80
default_backend nodes
backend nodes
balance roundrobin
server goapp1 192.168.1.101:80 check
server goapp2 192.168.1.102:80 check
我怎样才能实现这个目标?
答案1
禁用 Web 服务器上的 HTTP 连接重用。在 TCP 模式下,haproxy 不知道 HTTP 事务是否已在逻辑上结束。