zoukankan      html  css  js  c++  java
  • Windows Azure 云服务角色架构

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

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

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

    rolearchitecture

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

    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的内部结构。

    image

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

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

    image

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

  • 相关阅读:
    容器编排系统k8s之ReplicaSet和Deployment控制器
    容器编排系统k8s之Pod生命周期、健康/就绪状态探测以及资源限制
    容器编排系统k8s之资源标签、标签选择器、资源注解
    容器编排系统k8s之Pod资源配置清单基础
    容器编排系统k8s之Kubectl工具的基础使用
    容器编排系统k8s之基础入门
    抢先看:笔者亲历的2020年中国.NET开发者大会活动纪实
    谷歌的请求索引功能恢复了
    VuePress教程之深入理解插件API
    Linux将shell脚本配置成系统服务并设置开机自启
  • 原文地址:https://www.cnblogs.com/ericwen/p/3580890.html
Copyright © 2011-2022 走看看