窗口azure中一个应用程序下的多个Web角色/辅助角色的用途是什么

时间:2012-07-19 04:57:21

标签: azure azure-web-roles

在使用Azure一年后,我仍然没有找到任何关于一个应用程序下的多个webroles的真实场景。

当我们在那时创建托管服务时,我们需要选择区域以及应用程序的URL,所以在我们的解决方案中,如果我们创建了多个项目(webroles / wrokerroles),那么这个URL映射到webrole / wrokerrole应用程序? / p>

作为最终用户,webrole是一个应用程序,但在一个应用程序的Azure中,我们可以托管多个webrole应用程序!

任何人都可以解释这个Azure的术语和目的,请给我一些真实的场景/示例,我们需要这种类型的术语吗?

提前致谢。

2 个答案:

答案 0 :(得分:3)

当您的应用程序很复杂并且需要以不同方式扩展不同的东西时,多个角色非常有用。

不同的Web角色可能会处理组成一个应用程序的两个不同站点,但这些站点会以不同的模式进行扩展(例如某些BusinessAppWebRole和AdministrationAppWebRole)。这两个应用程序都是一个“系统”的一部分,并且一起部署,甚至可能共享一些.DLL或其他类似的东西,但BusinessAppWebRole可能需要在上午9点到晚上9点之间进行扩展,并且需要为用户执行超快速,而AdinistrationAppWebRole可能正在做一些复杂的数学或报告,需要自己的规模模式,不应影响BusinessApp

或者,您可以选择在一个Web角色上拥有一个网站,在另一个Web角色上选择一个WCF服务。再一次,两者都将成为同一“系统”的一部分并一起部署,但有不同的用法和扩展策略,需要将它们保存在不同的服务器上

Worker Role vs. WebRole也是一个很好的例子。 Workeroles通常是后台处理器。他们的目标是根据剩下的工作量进行扩展。面向客户的WebRoles需要采用不同的扩展策略,不得受到典型繁重/繁忙的工作者角色的影响......

HTH

答案 1 :(得分:0)

关于在一个Windows Azure应用程序中存在“多个webroles”的问题,我个人认为在一个应用程序中有两个或更多webrole没有任何具体原因。在一个Web角色中具有两个webrole将导致一个角色使用端口80,而另一个端口(默认为8080)用于其他角色。因为您将只有一个VIP来处理两个Web角色,所以无法在这两个角色上设置端口80。在某些情况下,您可以将此类功能插入端口80和8080上配置的单个Web角色。我可以想到在一个应用程序中具有两个或更多Web角色的一个示例,其中用户希望从一个特定Web角色为数百个用户提供服务配置为端口80具有多个实例但是其他Web角色在端口8080(其他非80)上配置为具有1-2个实例的管理站点。我个人看到很少使用在一个Azure应用程序中拥有多个Web角色,但是其他人可能在这方面有其他一些观点。

在一个Windows Azure应用程序中具有Web角色和辅助角色是非常常见的情况,您可以通过HTTP / HTTPS配置的Web服务器提供内容,并具有辅助角色来执行后台处理,而不会在Web服务器上窒息资源。您还可以通过在Web和辅助角色中定义特定端口来配置内部端点,以通过TCP端点在Web角色和辅助角色之间进行通信。在此方案中,您可以拥有多个Web角色实例来处理Web流量,以及多个工作者角色实例,以便分别进行后台处理。这种情况的最佳示例就像拥有一个网站,用户从网络服务器上传视频内容,一旦内容上传,工作人员角色编码视频,视频编码时,视频在Web服务器上可供用户使用请享用。在现实世界中,如果您有1,000,000个用户使用此类网站,您最终可能会拥有100个Web和辅助角色实例,以促进整体活动。