我应该将所有后端处理分配给辅助角色吗?

时间:2012-04-11 04:20:04

标签: azure azure-storage-blobs azure-worker-roles

Azure和整个工作者角色概念相当新,以前如果我想完成一些后端工作,我只需创建一个Windows窗体应用程序并将其作为计划任务。

通过我的新网站,我创建了一个Windows表单应用程序,我每小时运行一次,读取XML提要并完成所有处理,并将信息插入到sql azure中。

还有我希望存储在azure blob存储中的图像链接,并可能调整它们的大小,我在vb.net应用程序中遇到了麻烦。

我的问题是我应该将所有处理从我的Windows窗体应用程序移动到辅助角色,还是应该设置辅助角色来处理图像到blob存储?

工作者角色使用多少计算时间?我已经看过有睡眠计时器的例子,但有可能每小时运行一次吗?

2 个答案:

答案 0 :(得分:2)

您可以轻松设置计时器以触发每小时的每小时。运行代码的位置取决于您的应用程序架构。如果您有Web角色,则可以将其置于Web角色而不是专用角色,除非您确实需要单独实例的额外处理能力并愿意为此付费。此外,每个角色(Web / worker)的实例数量将增加解决方案的复杂性。

您的架构的详细大纲将为您寻求的答案提供更好的参考框架。

答案 1 :(得分:0)

辅助角色旨在用于执行各种后台活动。所以你可以将所有处理逻辑从windows应用程序移动到workerrole。它只是一个带入口点类的类库。

您无法在辅助角色中自动安排任何工作。你必须为自己辩护一个逻辑。 worker角色在无限循环中执行一段代码。您将被收取罚款。您在工作角色(计算)中使用的小时数,您的工作者角色是空闲或处理某些事情并不重要。此外,如果您使用blob和队列,您还需要为访问它们以及在其中存储数据付费。