当我们使用VS发布一个Cloud Service或者在Portal上上传发布包后,就能启动和运行一个云服务,可以保护WebRole,WorkerRole的一个或者多个实例。

Windows Azure是怎么实现这一个过程的呢?要了解这个过程,需要首先了解Windows Azure 的云服务角色架构。

总的来说可以用下面一张图来概括,非常经典的一张图,很多问题都可以在这张图上得到答案。Windows Azure 这些年不断更新,对于这张图来说基本没有变化。

首先对这张图上的名称做解释:

A. RDFE / FFE 用来连接用户到Azure的Fabric. RDFE (RedDog Front End) ,RedDog红狗是一种酒的名称,当时负责这个项目的人喜欢这个酒,就以此命名。REFE是一套向外公开的接口,管理网站的API和Service Management的API(ie. Visual Studio, Azure MMC等)。用户所有的请求都会经过RDFE,然后通过FFE传给Fabric。

B. Fabric controller 就像PC及其的操作系统,它管理和监控数据中心(DataCenter)中的所有资源。它与部署在Host OS上的Host Agent通信,Host Agent 与Guest Agent (部署在VM,WebRole,WorkerRole上)通信,收集将Guest OS的版本、服务包、配置和状态 。

C. Host Agent 是Host OS上一个应用,用来部署Gust OS和Gust Agent 通信。通过心跳方式获取Gust Agent状态,如果10分钟没有得到心跳响应,就会重启Gust OS。

C2.  WaAppAgent 负责安装、配置和升级WindowsAzureGuestAgent.exe。

D. WindowsAzureGustAgent 的职责是:

a. 配置Guest OS的防火墙、ACLs、本地存储资源、服务包和服务配置,以及RDP证书。

b. 为Role运行设置用户账户

c. 与fabric 就角色(WebRole,WorkerRole)的状态进行沟通

d. 启动WaHostBootstrapper进程并检视这个进程和保证角色运行在良好的状态

E. WaHostBootstrapper的职责是:

a. 读取角色配置和启动角色所需的所有任务和进程。

b. 监控所有子进程。

c. 发起角色状态检查。

F. IISConfigurator 的职责是:

a. 启动IIS服务。

b. 配置.net module

c. 根据<sites>节点的配置创建AppPool和站点。

d. 配置IIS的日志路径。

e. 配置站点访问权限。

G. Startup tasks 在RoleModel的配置文件中。这些任务需要进程WaHostBootstrapper启动. Startup tasks 能被异步运行(Background startup task )和同步运行(Simple startup task )。

H. DiagnosticsAgent 用来监听和记录诊断信息的代理,这个任务是后台运行任务。RemoteAccessAgent 是用于RDP远程访问,这个任务是简单任务。

I. WaWorkerHost 是worker role的标准宿主进程,宿主了所有关于Role的DLL,执行代码如OnStart和Run方法吗。

J. WaWebHost 是Web Role的标准宿主进程,使用HWC。这个在SDK1.2可以使用,现在的SDK已经不支持了。

K. WaIISHost 是角色的宿主进程。加载角色访问的第一个DLL,入口是实现RoleEntryPoint的类,执行OnStart,Run,OnStop等方法。

L. W3WP 是IIS的工作进程。

一下是每个虚机VM和节点(Node)以及FC的内部结构。

Physical Node: 物理节点(Node),就是一个单片机服务器,可以分成多个(一般8个,16个)Guest Partition。

Guest Partition: 包括Guest OS, 角色实例和Guest Agent

Reference:http://blogs.msdn.com/b/kwill/archive/2011/05/05/windows-azure-role-architecture.aspx

转载于:https://www.cnblogs.com/ericwen/p/3580890.html

Windows Azure 云服务角色架构相关推荐

  1. 创建windows azure 云服务

    截图的形式,向大家说明在VS2012中,发布Azure Cloud Service. cloud service特点支持多层的应用程序,每层都可以自我扩展.使用Web Role和Worker Role ...

  2. 微软云架构服务器,Azure 云服务(经典)NetworkConfiguration 架构 | Microsoft Docs

    您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn. Azure 云服务(经 ...

  3. [转]在 Azure 云服务上设计大规模服务的最佳实践

    本文转自:http://technet.microsoft.com/zh-cn/magazine/jj717232.aspx 英文版:http://msdn.microsoft.com/library ...

  4. Windows Azure 之服务总线中继服务

    Windows Azure的服务总线允许在Web服务内部与外部之间做成一个公共的连接点,在无需更改企业防火墙或者其他安全配置的情况下连接内部和外部的服务 而使用Azure云服务的时候由于缩放的原因通过 ...

  5. 调试 Azure 云服务项目的方法

    调试 Azure 云服务项目 在菜单栏中选择"调试">"启动调试"(键盘操作:F5). 重要提示 如果未将 Azure 云服务项目设置为启动项目,当你单击 ...

  6. azure云服务使用方法_在Azure Kubernetes服务上使用HashiCorp Consul

    azure云服务使用方法 Kubernetes之类的工具在简化大规模构建分布式应用程序的过程上大有帮助. 但是它们只是故事的一部分,提供了在主机系统之间复制容器化微服务的方法. 如果要获得抽象的数据中 ...

  7. Microsoft Azure云服务停机!系水泵未知原因关闭导致

    据悉,微软位于英国南部的数据中心设施内多个冷冻水泵因未知原因而关闭,因而导致Microsoft Azure云服务进入停机状态.微软目前已将设施内其余正在运行的部分设备进行关机处理,以阻止温度再进一步的 ...

  8. 介绍Windows Azure移动服务:用于您连接的客户端应用程序的后端

    今天,我们很激动地宣布Windows Azure移动服务的预览版!移动服务允许您的Windows 8 应用程序连接到承载在 Windows Azure 的云后端并且轻松存储结构化的数据,身份验证,并发 ...

  9. Windows Azure 云计算服务: 怎样按需选择并计算它将花费多少钱呢?

    写这篇文章是为了帮助那些有利用云计算服务的想法或想了解这一虚拟概念的人,或是那些想使用Windows Azure云计算服务来省钱并更好地扩展他们的业务的人.云计算服务的费用是如何计算的呢? CPU内核 ...

  10. Windows Azure媒体服务使得伦敦奥运会的云端传输成为可能

    伦敦奥运会是一个把302枚金牌合理压缩在19天里的盛大的活动.多轮预赛或回合经常同时发生,在32种运动中,对运动会内容提供者的挑战是要把运动会的内容传送给全世界各个时区的观众,可以让他们自由选择他们喜 ...

最新文章

  1. japidocs怎么设置参数必填_JApiDocs 动态生成接口文档,并解析java 源码中的注释...
  2. Python(2):基本数据类型
  3. winform第三方控件wmp
  4. mysql 多项式_mysql主从复制原理及实现
  5. 【Kafka】kafka Java api 获取 kafka topic 或者 partition 占用的磁盘大小
  6. numpy.linalg——线性代数运算
  7. 西门子1200伺服步进FB块程序 含触摸屏程序,SCL写的FB块,中文注释详细
  8. VMware Workstation PRO15  下 Win7镜像中LoadRunner安装
  9. oracle混音插件教程,【图片】【教学】waves混音插件官方教学贴,长期更新_混音吧_百度贴吧...
  10. Fedora14 基于Qt的UDP传输文字聊天小软件实现 (Qt查询本地Ip、Qt本地时间显示、传输中文汉字实现、Qt的textedit自动滚屏实现、给QPushButton设键盘快捷实现)---续上
  11. 问题与解决_IDEA-> Project Structure -> Artifacts-> ‘项目名‘ module: ‘Web‘ facet resources 显示红色
  12. 微信砍价 php,GitHub - YInJunWen/bcwx: vue2+thinkPHP5.1 前后端分离的微信砍价
  13. 建立一个植物毒性分类器:数据准备和清理
  14. Ubuntu下web开发,php编辑器推荐
  15. 二叉树:后序遍历非递归算法
  16. php 阿里云短信服务及阿里大鱼实现短信验证码的发送
  17. 自我鉴定200字大专生计算机专业,大专毕业自我鉴定200字
  18. 生产者和消费者问题(单一生产者和单一消费者)
  19. 摄影教室:数码摄影区域曝光法实用教程
  20. voa 1500单词

热门文章

  1. Django 上下文处理器
  2. android studio bug : aidl is missing 解决方案
  3. Css布局:左边固定,右边自适应
  4. 【转】Boost库概述
  5. namenode 优化 mv慢的问题
  6. Datatables+Bootstrap
  7. spring cloud报错解决:java.lang.ClassNotFoundException: com.netflix.servo.monitor.Monitors
  8. code4906 删数问题
  9. MVC4 Action
  10. 电脑是个神奇的东西!