Nginx

負載均衡會增加頻寬嗎?

  • April 27, 2020

假設我有一台具有 1Gbit 頻寬的伺服器,並且我提供靜態文件。添加另一台相同的伺服器並使用負載平衡器(可能在第一台伺服器上執行)是否會使頻寬加倍?或者因為它是從第一台伺服器路由的,它會最大化在 1Gbit?如果是這種情況,我該如何增加在雲提供商上執行的伺服器的可用頻寬?

最好的祝福,

亞歷克斯

假設您的負載均衡器(無論它放在哪裡)和伺服器都是 1 Gbit,那麼最大吞吐量只能是 1 Gbit,因為一切都通過負載均衡器提供服務。

負載平衡器,如果與兩台伺服器分開,則提供故障轉移並在伺服器之間分配處理負載(用於提供靜態文件的負載將是最小的)。

為了增加出站頻寬(注意,不是單個客戶端),需要使用類似基於 DNS 的解決方案,將靜態資產的一個主機名解析到兩個不同的伺服器。這不會為單個客戶端提供超過 1 Gbit 的頻寬,但是當至少有一個客戶端連接到每個 1 Gbit 伺服器時,這將允許兩個 1 Gbit 伺服器在滿負載時飽和。如果您自己做,故障轉移會更複雜,因為如果伺服器關閉,您需要刪除 DNS 條目。

這就是 Akamai / AWS CloudFront / 許多其他內容傳遞網路 (CDN) 的工作方式以及它們擅長的地方,尤其是在像本案例中那樣提供靜態內容時。動態和事務性內容是另一個對話。

如果您確實想自己實施具有故障轉移的 DNS 解決方案,那麼您基本上是在建構自己的小型 CDN。您可以自己滾動,或者也有 DNS 託管提供商可以將其作為其服務的一部分。

引用自:https://serverfault.com/questions/1014434