首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Microsoft Azure Master-Slave worker角色

Microsoft Azure Master-Slave worker角色
EN

Stack Overflow用户
提问于 2011-05-03 00:22:27
回答 2查看 837关注 0票数 0

我正在尝试将一个应用程序移植到azure平台。我想要多次运行一个现有的应用程序。我最初的想法是:我有一个master_process。我有很多slave_processes。每个进程都是Azure中的工作者角色。每个slave_process将独立运行应用程序的一个实例。我希望master_process启动许多slave_processes并为它们提供输入参数。最后,master_process将收集结果。目前,我有一个可以从C#包装器调用整个应用程序的有效设置。因此,为了成功,我需要做两件事:首先,我必须找到一种方法,在主工作进程中启动从工作进程(就像线程一样)。其次,我需要找到一种方法来存储从属工人的结果,并从主工人那里获取这些结果文件。有谁可以帮我?

EN

回答 2

Stack Overflow用户

发布于 2011-05-03 05:33:43

我想我会尝试用不同的方式来解决这个问题。部署一个全新的实例可能需要15到30分钟。将额外的实例添加到已在运行的worker角色中会更快一些,但不会快太多。我假设你想要比这更快的结果,并且这个过程是经常运行的。

我将只有一个运行现有逻辑的worker角色类型,以及您确定需要的任意多个worker角色实例。无论你的客户端是什么,它都会决定它需要将工作分解成一定数量的部分,为了便于讨论,假设是10个。它将为每个工作分配一个ID (例如,guid),然后将包含参数和ID的10条消息放入一个队列中。你的工作者角色实例从队列中取出消息,完成它们的工作,并将它们的结果写入到存储中的某个地方( SQL Azure、Azure表存储,甚至可能是blob存储,具体取决于结果是什么)。客户端轮询存储以等待所有结果完成,然后继续。

如果这是一个不经常运行的进程,那么您可以使用我所描述的相同方法,但在启动时将客户端代码放到deploy the worker roles中,并在通过管理应用编程接口完成时将客户端代码放到delete them中,而不是一直部署工作者角色。有关于如何使用它的samples on MSDN

票数 0
EN

Stack Overflow用户

发布于 2011-05-03 08:16:48

我有一个类似的情况,你可能会发现有用的:

我在Azure中运行了一个大型的顺序批处理过程,需要进行预处理和后处理。我使用的技术是使用单个多功能工作人员角色的实例,但使用"quorum“来提名一个头节点,然后该节点控制工作流。

我这样做的方式是使用一个azure 页面 blob作为仲裁(基本上是一种全局互斥/锁),因为一旦一个节点抓住它进行写操作,它就被锁定了。对于弹性,如果头节点出现问题,所有节点偶尔都会尝试重新捕获仲裁。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5859593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档