据我了解,haproxy 将通过其对等连接提供棒表同步,但不支持连接计数统计同步。
如果您的后端服务器集群具有有限数量的线程(puma/rails),如果您在主动-主动模式下运行 haproxy,则必须调整您的最小-最大后端连接。
两台 haproxy 服务器,每台都有 1000 个连接,您实际上需要 2000 个连接(100 个 puma worker 和 20 个线程),
所以,为了简单起见,我只是在主动-热-待机模式下运行两个 haproxy。每个都配置为支持相同的后端线程池。
在 c4.xlarge 上运行 haproxy 足以处理 1000 个后端连接和 2000 个同时前端连接(在 150,000 个用户的全面泛洪测试中)。
哦,你的 ELB 是多余的。把它拿出来。您为 HAPE 支付 200 美元/月,为 ELB 支付 25 美元/月。
他们做同样的事情。使用其中一种。不是都。如果您想要 ELB,那么您将需要 WAF 来获得 haproxy 为您提供的相同功能。
顺便说一句,我的 haproxy 也有一个 nodeJS 应用程序作为后端。我根据节点服务器的负载测试性能指标,根据需要设置最小-最大连接数。
哦,不要尝试使用 ELB 为您的节点应用程序提供服务。您需要 http 模式请求缓冲来为您的节点应用程序提供服务。 Haproxy 将其提供给您。
我使用 ELK 监控集群来监控 haproxy。如果失败,我会收到通知。但是,我不移动 IP 地址。具有故障转移 dns 的 Route53 将自动从其失败的 DNS 池中删除失败的 haproxy(在 60 秒内......不理想)。如果你需要一个固定的 IP,情况就不同了。如果您每 10 秒轮询一次,您可能会在 15 秒内将 IP 地址与监控服务器上的服务一起移动。
享受