在我读过的有关负载均衡器本身高可用性的所有互联网文章中,都提到了使用虚拟 IP (VIP) 的方法。在这种方法中,两个负载均衡器将保持主动-备用模式。主动负载均衡器拥有 VIP。如果主动负载均衡器发生故障,备用负载均衡器将使用某种心跳机制检测到故障并接管 VIP,从而成为主动负载均衡器。
我的问题是:
在任何时间点,只有一个负载均衡器在处理所有请求。如果传入请求数过多怎么办?或者任何流行的负载均衡器(如 HAProxy、nginx 或任何硬件负载均衡器)处理的请求数是否在现实生活中过高而无法超过?
拥有一组具有相同域名的负载均衡器,以便 DNS 可以进行循环负载平衡,同时将流量分配给负载均衡器本身,这是一个很好的选择吗?这样,我们还可以通过动态添加或删除 DNS 服务器中的 A 记录来实现负载均衡器的自动扩展。
答案1
如果请求数过多,您将会遇到超时问题。是的,如果您的服务器规模较小,或者存在资源限制,则可能会使服务器达到最大容量。
是的。不过可能不完全是那样。
DNS 可以为同一个域设置多个 A 记录,这可以为您提供故障转移或负载平衡。这些服务器可以位于不同的数据中心。一篇有用的文章是这里,或者您可以搜索“dns负载平衡”。
Amazon Web Services Route 53 可以根据多种策略进行路由,例如地理区域或延迟。它还可以检测服务器故障并将流量发送到其他服务器。它可以与非 AWS 服务器配合使用。这将是解决您问题的好方法。CloudFlare 流量管理器,目前处于早期访问阶段,可能是另一种解决方案。