我希望拥有长寿命连接(如果可能的话是无限的),从应用程序容器到 HAProxy 2.8.1 后面的 RabbitMQ。
问题在于,HAProxy 会在客户端超时时切断连接,即使在该期间中间有通信。
如果超时设置为 10 分钟,并且 RabbitMQ 通信发生在该时间段的第 5 分钟,则超时不会延长到第 15 分钟,而是在第 10 分钟切断。
global
log stdout format raw local0
defaults
log global
mode tcp
option tcplog
timeout connect 5s
timeout client 10m
timeout server 10m
resolvers docker
nameserver dns1 127.0.0.11:53
hold valid 10s
resolve_retries 30
timeout retry 1s
frontend stats
mode http
bind *:8404
stats enable
stats uri /
stats refresh 10s
listen rabbitmq-cluster
bind *:5672
mode tcp
balance roundrobin
option tcp-check
option tcpka
server rabbit1 rmq-ubuntu-a:5672 send-proxy-v2 check inter 5s rise 2 fall 3 resolvers docker
server rabbit2 rmq-ubuntu-b:5672 send-proxy-v2 check inter 5s rise 2 fall 3 resolvers docker
server rabbit3 rmq-ubuntu-c:5672 send-proxy-v2 check inter 5s rise 2 fall 3 resolvers docker