【问题标题】:What is purpose of multiple webroles/workerroles under one application in window azure一个应用程序下的多个webroles / workerroles的目的是什么?
【发布时间】:2012-07-19 13:54:15
【问题描述】:

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

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

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

谁能解释一下这个 Azure 术语和它的目的,请给我一些我们需要这种类型术语的真实场景/示例?

提前致谢。

【问题讨论】:

    标签: azure azure-web-roles


    【解决方案1】:

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

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

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

    Worker Role 与 WebRole 也是一个很好的例子。 Workeroles 通常是后台处理器。他们的目标是根据剩余的工作量进行扩展。面向客户的 WebRoles 需要有不同的扩展策略,并且不能受到通常繁重/忙碌的工作角色的影响...

    HTH

    【讨论】:

    • 我们有一个应用程序,其中有管理端和 API 端。 API 端由移动设备使用,而管理端仅由少数用户使用。它们有非常不同的扩展需求。
    • @igorek 感谢您的回答!如果我想根据此链接选择自定义 DNS,VIP 将如何指出每个 webrole msdn.microsoft.com/en-us/library/windowsazure/gg981933
    【解决方案2】:

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

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

    【讨论】:

    • 感谢您的回答!如果我们需要根据此链接msdn.microsoft.com/en-us/library/windowsazure/gg981933 自定义 DNS,我们是否需要在 DNS 管理器中将带有 VIP 的端口添加到 CNAME 属性?
    • 不,你没有。使用 Azure 云服务的自定义 DNS 设置 CNAME 设置时,您将只提供云服务 *.cloudapp.net 设置。 VIP 与 DNS A 记录设置一起使用,但从不使用端口。
    • 您可以有多个 Web 角色共享同一个端口。只需使用主机头来消除歧义。
    • @AndreaColuccio 在 20 个月内发生了很多变化,因此在 20 个月后对旧的接受且正确的答案投反对票似乎没什么侵略性
    猜你喜欢
    • 1970-01-01
    • 2020-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多