2015-05-29 274 views
-1

我已經在微軟Azure Web角色中託管了我的網站。我的網站就像應用程序和服務。每次用戶接近網站時,請求都會轉到服務,完成與數據庫相關的查詢並返回到應用程序部分。由於它有兩種方式,我已經將Web角色用於應用程序和服務。Microsoft Azure Web角色

  1. 如果用戶數達到最大值,在Web角色創建一個實例,因爲它涉及到與數據庫相關的事情會發生什麼,我的服務端。

  2. 每當創建實例時,數據庫是否會隨之創建?

  3. 在我的情況下,我希望看到每次創建實例時,都不應該創建重複的數據庫。可能嗎?如果可能的話,在那種情況下會發生死鎖嗎?

  4. 是否有可能在同一個web角色中託管應用程序和服務。如果是這樣,我想看到只有數據庫應創建每個實例創建。

請提供一個清晰的解決方案。

回答

0

假設應用程序和服務都在兩個獨立的雲服務正在運行:

  1. 您的應用程序和服務的角色被配置爲獨立擴展。
  2. 假設您正在使用Azure SQL數據庫,它也將獨立於雲服務進行擴展。
  3. 不會創建重複的數據庫 - Azure SQL數據庫將再次獨立於雲服務進行擴展。
  4. 如果您的應用程序,比方說,ASP.NET MVC應用程序,你的服務是的WebAPI,他們可能都在同一雲服務上託管的(他們會在同一個Web應用程序)

您的服務應用程序在縮放的場景中的行爲將取決於它如何實現。

我認爲您對Azure的縮放比例有誤解。

在這裏獲得一些額外的細節:How to Scale a Cloud Service

順便說一句,你可能要考慮Azure的Web應用程序,而不是雲服務的。雖然他們對雲服務提供的控制較少,但除非您正在做一些特定的Azure Web應用程序無法提供的服務,否則它們更容易處理。

+0

感謝您的回覆。我通過爲服務,應用程序和數據庫創建單個虛擬機來託管我的網站。另外,由於應用程序和服務在同一個IIS中運行,因此如果應用程序關閉,服務也將受到影響,我的網站獲得的瀏覽器比瀏覽器更多。計劃如何,我要爲數據庫創建虛擬機,爲應用程序和服務創建兩個Web角色。 Azure SQL沒有在這裏使用。 – dinesh

+0

嗯 - 在問題中會有幫助的信息。與其將所有處理組件加載到單個虛擬機中,最好至少將數據庫組件分離出來,否則將難以擴展系統。 –