一个云服务中同一个工作者角色项目的多个副本

时间:2016-04-14 19:16:01

标签: azure azure-worker-roles

我在尝试发布具有相同辅助角色项目的两个副本的Cloud Service项目时遇到问题。基本上我的工作者角色项目是一个工作处理器,用于观察服务总线队列。我打算通过在每个辅助角色的配置中使用不同的队列名来区分实例。尝试将此部署到Azure时,我遇到了问题。这在本地模拟器中完美运行。部署到azure时收到错误:

The file provided is not a valid service package. Detailed error code: <role name 2> Invalid application runtime - a runtime component is missing:/base/x64/WaIISHost.exe,<role name 3> Invalid application runtime - a runtime component is missing:/base/x64/WaIISHost.exe. The long running operation tracking ID was: 89d809995b20a74a924ae69f8d8a5106.

这非常奇怪,这适用于Azure SDK 2.4但不适用于2.7+。而且它总是在一个订阅中工作,但在其他几个订阅中不起作用。这里真的很困惑。

1 个答案:

答案 0 :(得分:1)

Visual Studio确实不允许您将第二个辅助工作角色实例重新添加到同一个云服务中。

但是,您可以将角色实现提取到单独的库中并定义两个将嵌入/继承此逻辑的辅助角色。然后,您将能够将包含相同逻辑的新工作角色添加到单个云服务中。

BTW,您可能需要考虑的另一个选择是保留单个工作人员,但定义2个部署(云服务)来托管它。这种方法的优点是,当您需要更改配置或仅扩展其中一项服务时,您将拥有更好的灵活性。