如何扩展haproxy节点本身?

时间:2016-12-20 09:25:02

标签: load-balancing haproxy

因为我有一个应用程序,其架构如下所示,

users ---->  Haproxy load balancer(TCP Connection) -> Application server 1
                                                   -> Application server 2  
                                                   -> Application server 3

现在我能够在应用服务器中扩展和扩展。但是由于没有TCP连接(大约10000个TCP连接),我的haproxy负载平衡器节点RAM变满了,所以进一步无法实现更多的TCP连接。因此需要为happroxy本身添加一个节点。所以我的问题是如何扩展haproxy节点本身,还是有任何其他解决方案?

我正在AWS上部署应用程序。非常感谢您的解决方案。

谢谢, Mayank

1 个答案:

答案 0 :(得分:2)

使用AWS Route53并创建指向haproxy实例的CNAME。

例如:

创建一个指向haproxy instance1的CNAME haproxy.example.com。 创建指向haproxy instance2的第二个CNAME haproxy.example.com。

您的两个CNAME都应该使用某种路由策略。最简单的可能是循环赛。只需旋转您的CNAME列表即可。当您查找haproxy.example.com时,您将获得两个实例的地址。返回的ips顺序将随每个请求而变化。这将在两个实例之间均匀分配负载。

根据您的需求,还有更多选项:http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html

总的来说,这很容易配置。

几个不相关的问题:您还可以设置运行状况检查,并在需要时将流量路由到剩余的健康实例。如果您使用两个实例运行容量,则可能需要添加一些以便能够应对实例失败。