博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Windows Azure Platform Introduction (6) Windows Azure应用程序运行环境
阅读量:6362 次
发布时间:2019-06-23

本文共 1811 字,大约阅读时间需要 6 分钟。

《》

 

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)的设计。

 

转载地址:http://gysma.baihongyu.com/

你可能感兴趣的文章
谁说数据库防火墙风险大?可能你还不知道应用关联防护
查看>>
Git 本地仓库管理
查看>>
ASP.NET Core应用针对静态文件请求的处理[2]: 条件请求与区间请求
查看>>
iOS10.3中Safari scareware漏洞已被彻底修复
查看>>
大数据公司Taste Analytics获340万美元Pre-A轮融资,真格领投
查看>>
物联网:互联网的终结者?
查看>>
《Android App开发入门:使用Android Studio 2.X开发环境》——2-3 认识 Activity 的基本程序逻辑...
查看>>
IoC真的重要吗?细节决定成败
查看>>
Jmeter性能测试小记(一)
查看>>
Swoole库PHP的SOCKET通信引擎,TCP/UDP,SOCKET服务器
查看>>
2014年SDN发展 仅仅是个起点
查看>>
中国宽带网速终于突破了10M大关
查看>>
摩尔定律在未来或将以“虚拟”形式继续生效
查看>>
XSS与XSSI区别何在?
查看>>
如何管理Windows 10的遥测功能
查看>>
对 ASP.NET 异步编程的一点理解
查看>>
现代数据集成所需的业务层面
查看>>
如何设计一个编辑窗体的基类
查看>>
网易2018校招内推编程题 独立的小易
查看>>
杂谈大数据
查看>>