【问题标题】:What are the use cases of Azure Cloud Services Worker Roles?Azure 云服务辅助角色有哪些用例?
【发布时间】:2014-09-19 22:27:02
【问题描述】:

我是 Microsoft Azure 的新手,我并没有真正了解云服务中的工作角色。 Web 角色很容易掌握:它们是 vm 运行的 IIS,因此我不必自己管理它,所以当我部署到 Web 角色时,我会部署一些东西以在 IIS 中运行。

现在,工人角色每个人都说“它就像 Windows 服务,它在后台运行”,而我并没有真正了解何时以及为什么我需要这个。直到今天,我都不需要开发 Windows 服务,所以也许正因为如此,我没有理解辅助角色的意义。

另外,我似乎有人在工作角色上部署 WebAPI 应用程序,但 WebAPI 是我会在 IIS 上运行的东西,所以它看起来更像是 Web 角色而不是工作角色。

无论如何,azure worker 角色的真正用例是什么?我们什么时候应该使用它,为什么?它的常见用法有哪些?

【问题讨论】:

    标签: asp.net azure


    【解决方案1】:

    工作者角色有很多用途。

    您可以使用它来发送电子邮件,从 azure 服务总线队列中取出项目并进行处理,您可以自己托管 webapi(您不需要 IIS)。您可以在表格中插入项目...

    【讨论】:

      【解决方案2】:

      正如@Thiago 所说,有很多用途。

      以 YouTube 为例。您现在将如何实现它...您可能会设置一个前端,供用户观看和上传视频。

      上传视频后,您需要对其执行一些任务。将其转换为特定格式、查找版权材料、拍摄快照……或任何其他格式。

      您绝对不想在执行此操作时阻止用户,并且您不希望在执行此操作时打开浏览器的用户。这就是工人角色发挥作用的时候......不需要UI,它不依赖于用户的任何东西,您只需在那里运行您需要的流程并在视频准备好时通知用户。他还在吗?给他看一个徽章什么的,他有没有关闭浏览器?给他发一封电子邮件。

      这只是帮助我理解工人角色的一个例子......希望它也能帮助你

      【讨论】:

        【解决方案3】:

        简而言之,

        • Web 角色 - 如果您计划在 Azure 中运行 IIS
        • 工作者角色 - 如果您想在没有 IIS 的情况下运行中间层应用程序
        • VM 角色 - 如果您想在 Azure 中执行超出 Web 或 Worker 角色的范围

        启动任务仅适用于 Web 或 Worker 角色; VM 角色无法管理启动任务。 这是您使用 Worke 角色的原因之一。

        基本上,Web 角色必须能够提供 HTTP 内容;但是,worker 角色没有这样的限制。

        azure worker 角色的真正用例是什么?

        • 您可以运行启动任务,例如可以启动一个或多个 Windows PowerShell 脚本的控制台应用程序或批处理文件。
        • 您可以安排很多在后台运行的维护过程,例如
          • 通过对数据库运行查询来检查孤立数据
          • 索引数据库
          • 从 Web 角色发送的队列中提取消息

        理想情况下,您希望 Web 角色通过将工作项插入队列来推迟所有昂贵的事务/工作,并让它们以工作角色执行,从而尽可能地响应。

        另外,我似乎有人在工作角色上部署 WebAPI 应用程序,但是 WebAPI 是我将在 IIS 上运行的东西,所以它看起来更多 像网络角色而不是工作者角色。

        WebAPI 可以在没有 IIS 的情况下使用 OWIN 自托管。如果您只想在没有文档的情况下托管 WebAPI 本身,您可以通过在 Worker 角色中结合任务来节省资金。

        【讨论】:

          猜你喜欢
          • 2015-07-31
          • 1970-01-01
          • 2013-02-28
          • 1970-01-01
          • 2013-03-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多