【问题标题】:Do I need other roles than Worker Role for a web site and service layer in Azure?Azure 中的网站和服务层是否需要辅助角色以外的其他角色?
【发布时间】:2015-06-04 19:53:38
【问题描述】:

我之前曾将网站和服务部署到云端,但那是不久前的事了,我想重新审视我的方法来盘点我的技能。在研究过程中,有人告诉我使用工人角色,但我不确定在哪个星座应用它。

图片展示了我的选择。我将设置两件事(最好在同一个基本 URL 上)。
1. 一个网站(ASP.NET,很可能是由 Razor 提供支持的 MVC)
2. 一个服务层(猜想是 WCF,因为今天没有太多可以选择的)

所以,在我天真无知的情况下,我为前者添加了 ASP.NET Web 角色,为后者添加了 WCF 服务 Web 角色。然后,根据提示,我还添加了 Worker Role。这就是我变得谦虚并开始怀疑我的无知是一种傲慢的地方......

我需要这三个吗?还是说 Worker Role 覆盖了其他角色?或者其他人是否足够,我需要工人角色?还是我完全混淆了这里的概念?

我尝试在 Google 上搜索这些内容,但我意识到我还没有达到在这个领域通过实践学习的门槛。我越读越困惑和头疼。诚然,我的问题可能在于搜索词的错误选择和/或语言误解。如果是这样,我很抱歉......

【问题讨论】:

    标签: azure azure-web-roles azure-worker-roles azure-cloud-services


    【解决方案1】:

    答案是,这取决于...

    Web 角色本质上是安装和配置了 IIS 的 Worker 角色。如果您真的愿意,您可以从同一个 Web 角色托管 WebApi/MVC、WCF 和处理事件,从而降低成本。

    请记住,每个角色都是一个单独的虚拟机,您必须为其付费,因此添加额外角色以将所有内容分开可能并不总是最好的主意。

    例如,在我们的一个项目中,我们使用 Web 角色来托管 WebApi。用于处理内部事件的 Worker 角色,以及用于托管 WCF 服务的 Worker 角色(您也可以为此使用 Web 角色)。我们将它们分开是因为它们承担非常不同的工作负载并执行不同的功能,因此能够独立扩展它们是有意义的。

    HTH

    【讨论】:

    • 也许是个愚蠢的问题 - 如果我打算租用 VM 来运行我的服务和网页怎么办?我还需要工人吗? (当然,我知道 Azure 中有一个虚拟机但是如果我要部署到我使用门户创建的网页“thingy”并使用在也有?那不是让我对虚拟机等保持“不了解”吗?)
    • 您可以使用“网站”项目,而不是云服务。这更加抽象了 VM,并且如果您将来需要,它不需要大量的工作来移植到 Web/Worker 角色。如果您正在学习 MVC 或一般的 Web 内容,最好在免费层上部署网站项目,直到您对它感到满意为止。然后,当您必须掌握一切时,您可以做出更明智的决定。
    • 通过网站,您可以将两个应用程序部署到同一个网站,使用不同的 url 和网站中的应用程序。如果您不需要专门的工作人员或网站来进行多项目部署或该级别的隔离,则可以简化成本。
    【解决方案2】:

    在云服务中使用多少个角色没有正确答案。但重要的是要准确了解这些角色是什么。

    在@Peter 的回答中添加一点内容:每个角色都是虚拟机(其内容)的定义 - 将其视为虚拟机模板。对于每个角色(模板),您必须至少运行一个实例 (VM)。如果您有一个角色,那么您的最小占用空间将是一个 VM(无论您为该角色指定的大小)。如果您拥有三个角色,那么您将至少运行 3 个虚拟机。

    您是一个角色还是多个角色取决于您希望如何扩展您的应用程序。每个角色不仅定义了其中的内容,还定义了角色实例使用的 VM 的大小。通过为架构的不同部分设置不同的角色,您可以选择以不同的方式扩展这些部分。例如,您可能只需要低资源实例来处理您的 Web 层,但您的服务层可能需要更多的 CPU 能力。也许您的 Web 层会根据用户流量动态扩展,但您可以处理,例如,您的服务层仅具有一两个实例。当然,您可以将所有内容放在一个角色定义中,并将所有内容一起扩展。这完全取决于你。

    【讨论】:

    • 我想我开始明白了。问题是我是否需要让工人参与进来。我只需要将网站部署到 Azure,并且可以使用门户创建。然后根本不需要工人的东西(或者至少我可以不知道它们)。对吗?
    猜你喜欢
    • 2012-07-06
    • 2015-07-31
    • 1970-01-01
    • 2014-11-09
    • 1970-01-01
    • 2014-08-29
    • 1970-01-01
    • 1970-01-01
    • 2015-07-07
    相关资源
    最近更新 更多