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

时间:2016-12-19 07:00:10

标签: tcp load-balancing haproxy

我使用HA代理版本1.6.6进行负载均衡rabbitmq服务器,它工作正常,但我想在ubuntu中使用脚本在ha代理后端动态添加服务器。任何人都可以告诉我我该怎么做?

3 个答案:

答案 0 :(得分:2)

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

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

可以像往常一样使用运行时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/

答案 1 :(得分:0)

据我所知,haproxy api(统计信息套接字)不支持动态添加/删除服务器到后端。 使用consul的解决方案之一,经过一些改变后的成本 - 重新加载服务。 https://www.hashicorp.com/blog/haproxy-with-consul.html

答案 2 :(得分:0)

我认为HAProxy开源没有这种功能。

如果您使用他们的ALOHA Load Balancer,那么有一个API可以在此处执行此操作:

https://www.haproxy.com/resources/documentation/