我刚开始使用HAProxy,我正在构build一个实时聊天应用程序。 我想知道是否有可能发送客户端到另一个后端当前后端达到其maxconn(我正在使用“平衡源”)。 因为有时当后端达到极限时,到后端的所有连接都排队,浏览器继续加载,而其他后端空闲。
我不知道,但在后端configuration中尝试这个(使用maxconn调整10):
acl too_many be_sess_rate gt 10 use_backend b_too_many if too_many be_sess_rate
试试这个,如果当前连接的前端大于20,则会使用另一个后端,为了满足您的需要,更改数字(第4行),同时我写模式tcp,如果需要http负载均衡,可以将其更改为http
frontend frontend_chat 127.0.0.1:8080 mode tcp balance roundrobin acl max_conn_reached fe_conn gt 20 default_backend be_chat1 use_backend be_chat1_and_chat2 if max_conn_reached backend be_chat1 mode tcp balance roundrobin server chat1 127.0.0.1:9001 check maxconn 10 backend be_chat1_and_chat2 mode tcp balance roundrobin server chat1 127.0.0.1:9001 check maxconn 10 server chat2 127.0.0.1:9002 check maxconn 10