如何在HA代理后端动态添加服务器?

Bho*_*iya 5 tcp load-balancing haproxy

我正在使用HA代理版本1.6.6来负载均衡Rabbitmq服务器,它工作正常,但我想使用脚本在ubuntu中的HA代理后端动态添加服务器。谁能告诉我我该怎么做?

Cᴴᴀ*_*ᴴᴀZ 6

HAProxy OSS v1.8 不包含add/removeRuntime API 中的命令,但您可以通过使用ready/disabled状态命令来实现类似的功能 。

  • 在 haproxy.cfg 中添加 server(s) config in disabledstate: server-template websrv 1-100 192.168.122.1:8080 check disabled//这会添加 100 个处于禁用状态的服务器 (websrv1...websrv100)
  • 启用服务器(类似于add功能):set server be_template/websrv1 state ready
  • 禁用服务器(类似于remove功能):set server be_template/websrv1 state maint

可以像往常一样使用 Runtime API 更改地址和端口: set server be_template/websrv1 addr 192.168.50.112 port 8000

参考):

  1. https://www.haproxy.com/blog/dynamic-configuration-haproxy-runtime-api/
  2. https://www.haproxy.com/blog/dynamic-scaling-for-microservices-with-runtime-api/


小智 0

据我所知 haproxy api ( stats socket ) 不支持动态添加/删除后端服务器。使用consul的解决方案之一,成本是在一些更改后重新加载服务。 https://www.hashicorp.com/blog/haproxy-with-consul.html