Azure角色和实例

Anu*_*adi 6 azure azure-worker-roles azure-web-roles

我是否可以在同一个实例上运行Web角色和辅助角色,或者我是否必须获得2个单独的托管实例并支付两倍的金额?

我有一个WCF Web API,我想在Azure上托管.我还有一个工作者角色,用于侦听Azure存储中的队列.每次将消息添加到队列时,它都将获取该消息并根据消息运行一个小任务.

我想知道我是否可以在同一个实例上运行这两个.

Dav*_*gon 5

“辅助角色”和“Web 角色”只是“运行 IIS 的 Windows Server 2008”和“不运行 IIS 的 Windows Server 2008”的简单模板。关键是“角色”是Windows Server虚拟机的定义。对于每个“角色”,您都有一个或多个实例。

在 Windows Azure 中,两种角色类型都能够在启动脚本或OnStart()处理程序中安装软件、修改注册表设置等,并且都允许您在方法中运行代码Run()

在您的情况下,您可以在 Web 角色中运行 WCF Web 服务,然后在您的Run()方法中(在同一角色中)启动一个进程来侦听 WCF Web 服务发布的队列消息。不需要有新的角色。

现在:一旦进入高容量情况,您可能希望将代码拆分为单独的角色,以便可以独立扩展它们(虚拟机大小和虚拟机数量)。

我在这里发布了关于此的另一个答案。