假设我有一台具有 1Gbit 带宽的服务器,并且提供静态文件服务。添加另一台相同的服务器并使用负载平衡器(可能在第一台服务器上运行)是否会使带宽翻倍?或者由于它是从第一台服务器路由的,所以最大带宽为 1Gbit?如果是这样,我该如何增加在云提供商上运行的服务器的可用带宽?
此致,
亚历克斯
答案1
假设您的负载均衡器(无论放置在何处)和服务器都是 1 Gbit,那么最大吞吐量只能是 1 Gbit,因为所有内容都通过负载均衡器提供服务。
如果负载平衡器与两台服务器分开,则负载平衡器提供故障转移并在服务器之间划分处理负载(对于提供静态文件而言,负载平衡器的作用最小)。
为了增加出站带宽(注意,不是单个客户端),需要使用类似基于 DNS 的解决方案,将静态资产的一个主机名解析到两个不同的服务器。这不会为单个客户端提供超过 1 Gbit 的带宽,但是当至少有一个客户端连接到每个服务器时,将允许两个 1 Gbit 服务器在满负荷下饱和。如果您自己做,故障转移会更复杂,因为如果服务器关闭,您需要删除 DNS 条目。
这就是 Akamai / AWS CloudFront / 许多其他内容分发网络 (CDN) 的工作方式以及它们的优势,尤其是在提供静态内容时(如本用例)。动态和事务内容是另一个话题。
如果您确实想自己实施具有故障转移功能的 DNS 解决方案,那么您基本上就是在构建自己的微型 CDN。您可以自行开发,也可以让 DNS 托管提供商将其作为其服务的一部分来提供。
答案2
根据您提供的示例,您不会看到任何带宽增加。您的入站流量将通过负载平衡器(假设为 1Gbit NIC)路由,并分配到两个成员服务器,每个服务器最多获得约 500MB/s 的流量。
您需要增加网关 NIC 的容量,然后才能看到任何增加。