Windows Azure Platform Introduction (6) Windows Azure应用程序运行环境

简介:

Windows Azure Platform 系列文章目录

 

Windows Azure应用程序运行环境

Windows Azure云计算平台是提供PaaS(平台即服务)IaaS(基础架构及服务)的,在Windows Azure PaaS平台上提供两种不同的应用程序角色

1.Web Role

Web Role是已经安装好IIS 7.0运行环境的Windows Server 2008 x64操作系统,开发人员可以利用Web Role来部署HTTP的应用程序,包括ASP.NET,PHP(FastCGI),JSP或者是基于HTTP的WCF应用程序等的Web应用程序。新版本的Web Role中可支持Full IIS模式,即开发人员可通过服务组态档在同一个Web Role中设置多个网站或单一网站(Site)内多个虚拟目录(Virtual Directory),更扩大了Web Role的应用弹性。

2.Worker Role

Worker Role可以简单理解成Windows 上的Windows Service服务,它是一个无用户界面的应用程序角色,默默地在后台运行(我个人感觉更类似于Timr_Tick函数),开发人员可以利用Worker Role来处理不需要用户界面的大量计算。

Web Role可以通过Queue的方式向Woker Role发送一串消息,让Work Role执行用户自己需要的逻辑。

为什么微软要有Worker Role?它的好处在哪里?在这里我举个例子您就能明白,比如我们有一个信息管理系统,需要上传Excel文档来进行解析和处理,从软件设计的角度来说有2种方法来解决。

a)在ASP.NET应用程序里新建个upload control,在upload control里面写函数:一旦Excel文件上传完毕,则在.cs文件执行对于Excel的处理工作。但这样会有一个缺点,如果Excel文件里包含的内容非常大的话,需要时间来处理这些内容,所以前台的ASP.NET的页面会停滞或者无响应。虽然我们也可以通过增加progressbar或者loading图片来增强用户的体验,但是从软件设计上来说不是最好的。

b)前端还是用原来的处理方式,使用upload control。服务器端增加一个Windows Service,时序的查询某一个文件夹,一旦发现前端页面上传了一个Excel文件,则Windows Service执行处理Excel的工作。这样前端的页面会及时的响应并且得到更好的用户体验。但是这还是有一个缺陷,前端的页面和windows service是一对一的关系,如果附件上传的数量很大的话会出现Windows Service来不及处理的情况。

有了Worker Role,我们可以让一个ASP.NET页面后端有多个Worker Role来进行分散式的计算,是一对多的关系,能够有效的利用云上的计算资源,Worker Role可以处理高负载的数据访问。

 

3.Windows Azure Virtual Machine

Windows Azure Virtual Machine是IaaS的服务。

 

3.VM Role

VM Role微软为了解决IaaS层次(基础设施即服务)而新增的程序角色。Web Role和Worker Role是属于PaaS的范畴,预装了Windows Server 2008 R2的操作系统。而VM Role允许用户使用Hyper-V自己安装操作系统和应用程序再上传到Windows Azure云环境。这对企业在转移应用程序到云端提供了非常大的弹性的支持,用户可以使用Hyper-V在VHD安装自己需要的第三方应用程序并且上传到Windows Azure进行托管。

不论是Web Role,Worker Role还是VM Role,都可以设置一个以上的运行个体(instance),每个运行个体都是独立的虚拟机,Windows Azure Fabric Controller中的Load Balancer(平衡负载器)会自动分配负载到不同的instance中。也因为如此,不论是运行在Web Role上的Web应用程序,或是运行在Worker的服务应用程序,都要考虑可能的跨实体(cross instance)以及不同实体通信(inter-role or inter-instance communication)的设计。

 

分类:  Azure Introduction

本文转自Lei Zhang的博客博客园博客,原文链接:http://www.cnblogs.com/threestone/archive/2012/01/17/2324972.html,如需转载请自行联系原作者
目录
相关文章
|
9天前
|
消息中间件 编译器 API
Windows窗口程序
Windows窗口程序
|
11天前
|
C# Windows
.NET开源免费的Windows快速文件搜索和应用程序启动器
今天大姚给大家分享一款.NET开源(MIT License)、免费、功能强大的Windows快速文件搜索和应用程序启动器:Flow Launcher。
|
29天前
|
Windows
实现Windows程序的数据更新
实现Windows程序的数据更新
12 0
|
29天前
|
Windows
构建布局良好的Windows程序
构建布局良好的Windows程序
11 0
|
29天前
|
C# Windows
初识Windows程序
初识Windows程序
10 0
|
2月前
|
Java Linux Windows
windows实现自动部署jar包运行程序
windows实现自动部署jar包运行程序
39 0
|
4月前
|
移动开发
【实用】一组原创原生样式的基础控件、UI组件样式(偏向移动端H5页面的样式)
【实用】一组原创原生样式的基础控件、UI组件样式(偏向移动端H5页面的样式)
【实用】一组原创原生样式的基础控件、UI组件样式(偏向移动端H5页面的样式)
|
3月前
|
API Python Windows
python3应用windows api对后台程序窗口及桌面截图并保存的方法
python3应用windows api对后台程序窗口及桌面截图并保存的方法
89 1
|
2月前
|
Windows
火山中文编程 -- 第一个windows程序
火山中文编程 -- 第一个windows程序
12 0
|
6月前
|
C++ Windows
winform 程序打包成windows安装包
winform 程序打包成windows安装包前提:VS2019,winform 程序已经有一个完整可运行的 winform 程序。VS中上方扩展选项卡,选择 管理扩展,在打开的弹窗中选择联机,在右侧搜索框搜索 installer, 在中间显示的结果选择 Microsoft Visual Studio Installer Projects 点击下载。下载完成之后,关闭vs,自动打开扩展的安...
50 0
winform 程序打包成windows安装包