第三章 設計程式架構 之 設計實現Windows Azure 角色生命週期

來源:互聯網
上載者:User

標籤:

1. 概述

  Windows Azure 是微軟的雲端運算平台。用於 在微軟資料中心 通過全域網路 產生、發布和管理應用程式。

  本章內容包括 startup tasks 以及  實現 Start, Run 和 Stop 事件。

2. 主要內容

  2.1 Windows Azure

    ① 提供 PaaS 和 IaaS 兩種服務。

    PaaS 提供一個實際的計算平台,包括 作業系統、程式執行環境、資料庫 和 web伺服器。

    IaaS 是提供虛擬機器。

    ② Windows Azure 有三種類型的解決方案:虛擬機器、web網站 和 雲端服務。

    虛擬機器:使用方式類似本地的機器,可以進行開發測試和部署。

    web網站:單純的web網站寄宿。可以方便的部署和運行ASP.NET MVC4網站。

    雲端服務:直接的PaaS模式,是Windows Azure的初始發布模型。

  2.2 Startup tasks

    2.2.1 Windows Azure中有三種角色:Web、Worker 和 VM。

      Web一般用於執行IIS。Worker一般用於執行中介層的程式。而VM角色可以完全的訪問虛擬機器。

    2.2.2 通過 Startup tasks,可以 註冊COM組件、安裝組件或者設定註冊key。Startup tasks僅對Web和Worker角色可用。

      Startup tasks 在 Task元素中定義,Task元素是 ServiceDefinition.csdef檔案中的Startup元素的一個節點。

      一個標準的Startup tasks是一個命令列程式或者一個批次檔。

    2.2.3 當一個角色啟動,Windows Azure中,後續的過程如下:

      ① 執行個體被標記為Starting,不再接收通知。

      ② Startup tasks 根據taskType屬性開始執行。。(簡單任務以同步方式,後台和前台任務以非同步方式。)

      ③ 角色寄宿過程啟動,網站在iis中被建立。

      ④ 調用 Microsoft.WindowsAzure.ServiceRuntime.RoleEntryPoint.OnStart 方法。

      ⑤ 執行個體被標記為Reader並開始接收通知。

      ⑥ 調用  Microsoft.WindowsAzure.ServiceRuntime.RoleEntryPoint.Run 方法。

    2.2.4  AppCmd.exe命令列工具用於在Windows Azure中,啟動時管理IIS設定。

    2.2.5 Startup tasks 可以被執行多次。忘記配置AppCmd.exe工具會導致執行階段錯誤。

    2.2.6 可以把一個任務標記為後台執行。

<Startup>     <Task commandLine="Startup\ExecWithRetries.exe                &quot;/c:Startup\AzureEnableWarmup.cmd&quot;                /d:5000 /r:20 /rd:5000 &gt;&gt; c:\enablewarmup.cmd.log               2&gt;&gt;&amp;1"           executionContext="elevated" taskType="background" /> </Startup>

    2.2.7 Windows Azure 虛擬機器是無狀態的。

  2.3 實現  Start, Run 和 Stop 事件

     OnStart 方法和 Startup tasks有許多概念上的相似點:

    ① 有相同的逾時機制。

    ② 角色被回收時都會被再次執行。

    ③ 都可以配置先於角色處理。

     OnStart 方法和 Startup tasks 的不同之處包括:

    ① 未完待續。。。

第三章 設計程式架構 之 設計實現Windows Azure 角色生命週期

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.