集群中有 4 个 Elastic Search 节点,这 4 个节点设置在 haproxy 后面。集群中的每个节点接收大约 900 到 1000 个 tcp 连接,但其中一个节点的连接数非常少,大约 400 个。以下是 haproxy.cfg 文件中 ES 节点的配置
listen es-cluster
bind *:9200
mode tcp
option tcpka
option tcplog
balance leastconn
#balance roundrobin
timeout client 30m
timeout server 30m
server host1 xxx.xxx.xxx.xxx:9200 check weight 100
server host2 aaa.aaa.aaa.aaa:9200 check weight 65
server host3 bbb.bbb.bbb.bbb:9200 check weight 150
server host4 ccc.ccc.ccc.ccc:9200 check weight 100
server host5 ddd.ddd.ddd.ddd:9200 check weight 100
host3
有很少的 tcp 连接。我roundrobin
刚开始使用。由于其中一个节点上的连接数较多,我将配置更改为leastconn
带权重,并增加了节点的权重host3
。节点“host3”上的 TCP 连接数仍然很少。为了使所有节点具有相同数量的连接,还可以进行哪些进一步的更改