因为我有一个应用程序,其架构如下所示,
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
答案 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
总的来说,这很容易配置。
几个不相关的问题:您还可以设置运行状况检查,并在需要时将流量路由到剩余的健康实例。如果您使用两个实例运行容量,则可能需要添加一些以便能够应对实例失败。