2013-02-03 52 views
1

我工作的公司正在尋找針對雲開發一些應用程序。瞭解如何在Azure中爲角色提供應用程序

  • 以Azure Web角色託管的ASP.NET Web Api應用程序。
  • 託管在Azure輔助角色中的Windows Server類型的應用程序。

我們是完全新的網頁或雲開發,並想了解以下內容:

當被服務給消費者,是應用的相同實例被提供給所有的,是一個每請求還是多個角色正在創建並提供給消費者?

回答

2

當向消費者提供服務時,應用程序的所有實例都被提供給所有人嗎?

這取決於您要求Azure在多少個實例上運行應用程序。如果您只部署了1個實例,那麼它當然會是響應所有請求的相同實例。但是,如果部署到多個實例,請求將進行負載平衡,這意味着您無法保證來自同一用戶的多個請求將由同一個實例處理。

當你問這個問題時,可能是因爲你可能試圖在運行實例的機器上存儲本地數據。但是,這不是一個好主意。 Windows Azure可以隨時拆除您的實例並在完全不同的機器上啓動您的應用程序。他們稱之爲「癒合」,因爲它通常發生是因爲Windows Azure試圖幫助並避免可能意味着您的實例停機的任何潛在問題。但是,如果您的計算機出於某種原因鎖定或發生其他問題,也會發生這種情況。這種治療過程意味着任何不屬於您的部署包的部分都將丟失。因此,例如,如果您正在登錄到磁盤上的文件,那麼如果Azure「治療」您的實例,則此日誌將會丟失。

它是每個請求一個或多個角色被創建並提供給消費者?

我不完全確定你在這裏的意思,所以我會猜測並冒險解釋你的問題。我的猜測是你問每個用戶請求是否會有一個實例。不,只有你決定的實例數量。請記住,您必須爲每個正在運行的實例支付費用,所以運行實例的數量由您來決定是公平的。

將應用程序打包並準備部署到Windows Azure時,可以決定要運行的每個角色的實例數。您可以在部署包中設置此數字,以便部署包時,Azure將自動啓動所請求的實例數。但是,您可以在部署和即時更改每個角色的運行實例數量。這使您可以在幾分鐘內擴展更多實例。

我希望這有助於我正確理解你的問題。 :-)

0

Azure雲服務中的Azure Web和Worker角色部署在至少一個實例(託管虛擬機)上。 Azure允許您調整(內存,CPU)和縮放(實例的數量)。 Azure實際上可讓您動態擴展,即按需添加更多實例。您按小時支付&部署的實例數量。

例如,雲服務可以具有工作角色(後臺處理)的單個實例和Web角色的多個實例。多個實例在負載均衡器後面處理,客戶端不知道他們正在使用什麼實例(所有實例均創建相同)。

0

Azure角色實例是具有一些特定有效負載的虛擬機。

例如,在您的服務中,您聲明您需要三個「前端」Web角色實例和兩個「後端」工作者角色實例。當Azure部署您的服務時,它啓動五個虛擬機,其中三個將運行「前端」負載並啓動IIS,其中兩個將運行「後端」負載並且沒有啓動IIS。

現在,除非您要求Azure更改該配置,否則無論發生什麼請求和發生什麼負載,它都會保持持久性。您有五個3 + 2配置的虛擬機。要改變配置,你需要採取一些行動。

有兩種方法可以更改配置。您可以使用Management Portal或外部程序來更改其中一個角色或兩個角色中的「實例數」。您還可以添加自動縮放代碼,以收集度量標準並使管理API請求更改「實例計數」。無論哪種方式,當「實例數量」上升時,Azure會啓動更多具有相同有效負載的虛擬機,並在其停止時停止部分虛擬機。

相關問題