2011-10-22 162 views
2

試圖遷移到Windows Azure。我們有一大堆定製和分片代碼,所以我們認爲與虛擬機角色一起使用會是一個更好的主意 - 我的假設是我們可以將其作爲普通服務器進行管理並將其部署到我們的應用程序上。數據庫已經在SQL Azure上。Windows Azure虛擬機負載平衡

問題 - 在我們當前的非Azure設置中,我們有兩個帶有負載均衡器的Web服務器框。我記得閱讀有關Web角色的一些信息,以及Azure如何在實例(Web或角色)之間實現負載平衡。 Azure是否支持兩個VM角色之間的負載平衡?

更重要的是,如果我們使用工作角色(因爲代碼似乎與Azure更緊密地集成),性能會更好。如果有人能指出我的方向是正確的,那將會很棒。非常感謝。

回答

3

負載均衡器在您的角色實例(Web,Worker或VM)之間分配流量。最終用戶(或系統)只需通過協議:// ip:port聯繫您的服務。例如,如果您在VM角色上託管端口8000,並且擁有4個該角色的實例,您將看到所有4個實例(與Web角色沒有不同)的流量分佈。

工作者角色和虛擬機角色之間的性能不應該有任何不同。不同之處在於客戶操作系統本身的維護。如果您可以使用工作者角色而不是VM角色,那麼在更新時您就可以更輕鬆地工作(並且無需將大型多GB圖像推送到雲端)。有真的,爲什麼你會需要使用VM角色3個核心原因:

  • 沒有辦法自動安裝所需的應用程序(如任何微星的需要運行,註冊表更新等)
  • 你可以自動安裝,但需要很長時間(例如大於5-10分鐘)
  • 您可以自動安裝,並及時完成安裝,但它不是可靠的安裝(例如,某些組件在安裝過程中偶爾會失敗,導致角色recylce和重複安裝嘗試)
+0

感謝您的答覆。仍然在思考專用的服務器方式。對於天真的問題抱歉 - 所以如果我們選擇使用Web角色並在端口80上部署UI層並擁有四個實例(獲取新實例並部署相同的代碼),它將自動實現負載平衡。我是否以正確的方式思考這個問題? – user529265

+1

是的,你正在考慮正確的方法,因爲從3到4個實例的縮放只是將代碼展開到第4個實例,而是自動獲得負載均衡。但是:這個「專用服務器」的概念需要澄清:所有Azure虛擬機都是虛擬服務器,並且您需要假設在同一硬件上運行其他虛擬機(尤其是運行少於8個內核時)。 Web角色是Windows Server 2008虛擬機,就像虛擬機角色一樣,但是在安裝前需要在啓動時運行安裝。沒有更多的操作系統維護。網絡角色真的是要走的路。 –

+1

@ user529265 - 再提一點建議:安裝平臺培訓工具包,並通過網站角色(第一個實驗室和高級網絡和工作者角色實驗室)推出網站的練習。我認爲這將真正爲您澄清Web角色。 –

相關問題