考虑到我们有一个Web应用程序部署在多个服务器和客户端请求登陆到负载均衡器的情况,负载均衡器又将请求路由到实际服务器。
现在,如果我们同时发出太多请求,那么负载均衡器本身会失败吗?假设我们每秒获得100万个请求,不会超出单个负载均衡器的处理能力吗?
我们如何设计(至少在概念上)一个处理这种情况的系统?
答案 0 :(得分:2)
将负载平衡器放置在负载平衡器的前面并不能解决问题,原因仅仅是因为如果一个负载平衡器由于流量高而进行故障转移,那么前面的负载平衡器也将失败!
您可以使用DNS实现所需的功能。您可以将多个IP地址注册到一个域名,因此可以有多个负载均衡器。
假设您要向www.example.com发送请求。您的浏览器将在DNS中查找记录,并接收相应IP地址的列表。然后,请求将转到列表中的第一个地址。如果不可用,它将转到列表中的下一个。 DNS服务器将随机化列表的顺序以分散负载,甚至进行定期运行状况检查以删除无响应的IP。这意味着您的请求将在负载均衡器之间分配,而不仅仅是点击一个。