2017-10-12 56 views
0

如何在兩個不同區域的Web服務器之間平均分配負載?一個在東部,另一個在中部..東部服務器耗盡(60%cpu & 100%的內存,並大量交換),而中央服務器100%空閒。Google雲負載均衡算法:循環法

根據我們的DR實踐,我們需要在兩個不同的地區有服務器。我們如何平均分配負載? Google默認使用Geo路由,這對我們不利。謝謝!

回答

1

HTTP負載平衡不是一個嚴格的地理路由。如果系統理解一個區域過載,它會將流量溢出到下一個區域。

我建議進行負載測試,然後調整後端服務平衡設置(balancingMode,capacityScalar,maxRatePerInstance,maxUtilization等),以便系統知道它將東部服務器過載並將一些流量發送到中央服務器。

作爲一個成功的例子,現在讓我們說一下入站流量的100 RPS,並且您已經配置了balancingMode = UTILIZATION maxUtilization = 0.8(默認值)。因爲你的實例只有60%的cpu,所以它沒有達到最大利用率,所以他們的系統正在發送所有100RPS的流量。

現在您進行負載測試,並發現服務器可以在內存不足之前處理80RPS的通信量,並且該CPU不是您的內存密集型應用程序的可靠指標。所以你改爲balancingMode = RATE,maxRatePerinstance = 80。然後,系統向東部服務器發送高達80RPS的數據,向中央發送高達20RPS的數據,並且兩臺服務器都可以正常運行。