开发者社区> zting科技> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

 


本文转自Lei Zhang的博客博客园博客,原文链接:http://www.cnblogs.com/threestone/archive/2012/01/17/2324972.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
在阿里云ECS上搭建一个简单的具有登录和注册功能的网站
因为学校本学期开设了web的相关课程,为了加深对整个项目从编写到发布的理解,也感谢阿里云对学生的帮助与支持,让我得以白嫖一台ECS来学习。网站开发使用的是Mybatis+MySQL+Servlet+Tomcat,项目具体搭建方式参考https://blog.csdn.net/m0_59792745/article/details/126823742
12 0
阿里云大数据ACP(二)数据集成 Data Integration 2
阿里云大数据ACP(二)数据集成 Data Integration 2
27 0
如何通过ECS和云数据库Redis版建立连接?
本文将介绍如何通过ECS和云数据库Redis版建立连接。 云数据库Redis版仅支持阿里云内网访问,即只有在同节点的ECS上安装Redis-cli才能与数据库建立连接并进行数据操作。所以在连接之前,需要先购买一个ECS,并在ECS上完成Redis的自建,完成之后请登录ECS。
1573 0
【直播预告】 手把手教你玩转阿里云推广技术变现之路!(2)如建站维护以及文章采集技巧
直播内容 云大使建站实战—如何维护云大使的站 云大使网站上必须有的几篇文章 云大使的关联页面 定期在自己网站上更新阿里云官网活动,无论他是否支持云大使都要更新 定期在自己网站上更新阿里云的一下公告 定期更新一些阿里云用户遇到的常见问题及解决方案 文章如何采集 采集那些文章,以及伪原创的注意点 网...
9033 0
阿里云ECS服务器购买流程(超全,新手必备!)-教程配置、运行、建站一条龙
阿里云ECS服务器购买教程 本文提供全图文流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar ——...
3252 0
OpenGL ES From the Ground Up, Part 3: Viewports in Perspective
SATURDAY, APRIL 25, 2009 OpenGL ES From the Ground Up, Part 3: Viewports in Perspective Now that you got a taste of how to draw...
1103 0
VS2012, opencv2.4.4环境搭建
2.1 环境准备 安装 Visual Studio 2012 下载 opencv 最新版本( 目前是2.4.6, 下载链接 ) 2.2 安装 opencv 2.2.1. 双击下载的 OpenCV-2.
863 0
+关注
3549
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载