码迷,mamicode.com
首页 > Windows程序 > 详细

第三章 设计程序架构 之 设计实现Windows Azure 角色生命周期

时间:2015-06-26 19:30:40      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:

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 角色生命周期

标签:

原文地址:http://www.cnblogs.com/stone_lv/p/4602938.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!