Azure的文檔的擴展研究後,我們還是很懷念的天青如何內置的雲服務自動縮放作品的一些重要細節。我們的雲服務是具有單一Web角色的簡單ASP.NET應用程序。默認情況下,我們將部署到2個實例以獲取SLA覆蓋範圍,並且每次只按一個實例按比例放大或縮小。我們使用啓動任務來配置IIS並在csdef中定義它們。我們使用RoleEntryPoint來指定OnStart事件中的自定義熱身邏輯。我們確信啓動任務和OnStart不會因錯誤而失敗。Azure雲服務內置自動縮放如何工作?
以下問題從我的觀察得到的,並打算如果這是預期的行爲,以澄清。
當雲服務按比例向上或向下當前會有取出負載平衡器的某個時間短量並不會服務器請求每個實例。這是真的嗎?
topologyChangeDiscovery在csdef =「闖天關」不改變這種行爲,並在規模化經營情況仍然取出負載平衡器。這是真的嗎?
如果在雲服務N個實例,並將其擴展到N + 1將會有一些時候,只有N-1情況下的服務請求。這個時間等於N *(單實例配置更改所需的時間)。這是真的嗎?
有沒有辦法設置自動縮放,以確保當前在雲服務中規模化經營將成爲沒有中斷請求的所有實例? (通過任何手段不僅使用Azure的內置自動縮放)
UPDATE:
我已經進行測試,以實際檢查什麼情況下是服務期間大規模事件的請求。簡單的控制檯應用程序輪詢雲服務並記錄哪些實例響應請求。我已將Azure門戶中所有更改的屏幕截圖添加到日誌文件中。
下面是結果:從2到3個實例 擴大: https://gist.github.com/samfromlv/8029ff0b3fdb3e6bd02a#file-scaleuplog_withscreens-txt
比例從3降到2實例: https://gist.github.com/samfromlv/8029ff0b3fdb3e6bd02a#file-scaledownlogs_with_screens-txt
控制檯應用程序的源代碼,並記錄格式描述: https://gist.github.com/samfromlv/8029ff0b3fdb3e6bd02a
你的問題很相似,[這個問題](http://stackoverflow.com/questions/22252802/azure-autoscale-restarts-running-instances),其中有一些討論的答案行爲。 –
在我們的案例中沒有角色回收(IIS進程未重新啓動)。你特別提到的問題是關於什麼導致回收的問題。 – samfromlv