2015-11-04 97 views
1

我已經創建了簡單的ASP.NET Web API(self-host OWIN),它具有端點http://MyIp:80/process/file。如果請求數量超過Rest Api帶來的HTTP異常,它只能接受5個併發請求並需要大約30秒才能繼續處理請求。爲了增加請求的數量,我打算在另一臺服務器上託管ASP.NET Web API應用程序,但在這種情況下,我將爲Rest Api獲取不同的IP地址。我知道有負載平衡解決方案,但找不到如何在ASP.NET Web API中使用它的好源碼。任何建議將不勝感激!ASP.NET Web API的Web平衡

+2

這是因爲負載平衡是一個網絡主題,它與Web API或任何其他框架無關。負載平衡器向全世界公開一個公共IP,但將流量分配給多個私有IP。平衡者的工作是在不同IP之間進行轉換 –

+0

您的問題是您已將IP地址提供給您的消費者,現在是否需要重新定位您的服務?你應該使用DNS然後... – CodeCaster

回答

0

最簡單的方法是使用雲。特別是對於Microsoft技術,我會推薦Microsoft Azure。您將獲得開箱即用的擴展和負載平衡以及使用雲的許多其他好處。

0

這是一個窮人的負載平衡...忍耐與我。

您可以將一臺服務器聲明爲主服務器,將另一臺服務器聲明爲次服務器。

如果請求遇到主請求,但已經處理了這5個請求,它可以向次請求發出HTTP 307臨時重定向。如果次級也過載,則發出錯誤。

使用307 temporary redirection,調用者知道可以將相同的HTTP動詞重試到新的位置。因此,如果調用者正在對主服務器進行POST調用,並且獲取指向輔助服務器的HTTP 307,則會將POST請求重新發送給輔助服務器。