我所工作的应用程序包含一个Web角色:它是一个简单的Web应用程序。为了在Windows Azure中托管该应用程序,我创建了一个Web角色。实际上,我想知道这些角色的作用是什么。从编码或存储方面来说,它们的重要性是什么?
我所工作的应用程序包含一个Web角色:它是一个简单的Web应用程序。为了在Windows Azure中托管该应用程序,我创建了一个Web角色。实际上,我想知道这些角色的作用是什么。从编码或存储方面来说,它们的重要性是什么?
编辑于2013年3月3日——更新了对UDP端点、虚拟机和更多编程语言的引用
编辑于2013年6月6日——反映出VM Role停止使用,并将Web/Worker角色基线操作系统映像更新为Windows Server 2012
来自@Vladimir的好链接,需要有些澄清:所有角色(Web角色、Worker角色)本质上都是Windows Server。Web角色和Worker角色几乎相同:
回答你关于如何使用这些角色的问题:平台培训套件(下面提到)将为你提供许多好的想法和示例,但以下是一些直接的用例:
使用Web和Worker角色,操作系统及相关补丁已经为您管理;您可以构建应用程序组件,而不必管理虚拟机。
对于VM角色,您需要构建一个完整的Windows Server镜像,添加Azure钩子,并将整个VM推入云中(然后随时间维护VM镜像),但现在除了VM Role之外,还有提供虚拟机构建的Virtual Machines,其中包括Windows和Linux支持。我建议使用Virtual Machines而非VM Role。
对于Virtual Machines,您只需从库中选择一个操作系统映像即可创建和存储为vhd在Blob存储中。然后RDP/ssh并自定义设置。
作为架构师,这是有趣和有意义的地方。您可以在Web角色或Worker角色中运行Web服务(并能够在其中打开端口);您可以在Worker角色中托管Tomcat或其他Web服务器。您可以选择将网站和服务组合到单个角色中,也可以将它们拆分为多个角色以满足不同的可伸缩性需求。
想要开始学习,可以先看看平台培训套件,并开始逐步练习。
我几天前遇到了这个SO问题/答案,但是我觉得提供的答案有点难以理解(我是Azure和Web的新手)。今晚我在Azure基础知识中发现了这个摘要,我认为这是一个很好的高级概述,阐述了工作角色和Web角色之间的核心区别:
两者的主要区别在于Web角色的实例运行IIS,而Worker角色的实例则没有。然而,两者都是以相同的方式进行管理,通常应用程序会同时使用两者。例如,Web角色实例可能接受用户请求,然后将它们传递给Worker角色实例进行处理。为了扩展应用程序,您可以请求Windows Azure创建更多的任一角色实例或关闭现有的实例。与Windows Azure虚拟机类似,您只需支付每个Web或Worker角色实例运行的时间。
如果您是Azure的新开发人员,我强烈建议在此处阅读完整文章:Intro to Windows Azure
我希望这能像对我有帮助一样帮助到其他人。
Windows Azure中的Web角色是特殊目的的,为前端Web应用程序提供了一个专用的Internet Information Services (IIS) Web服务器。您可以快速轻松地将Web应用程序部署到Web角色,并根据需求扩展或缩小计算能力。