在单个实例中部署Web角色和辅助角色

时间:2013-03-19 13:26:37

标签: deployment azure azure-web-roles azure-worker-roles

我正在开发一个可扩展的应用程序,我使用Web角色,队列,工作者角色设计......但是现在(在alpha测试阶段)我关注成本削减,因为我患有常见的“现金流出”问题......

因此,由于阶段的测试性质,我想知道是否有办法使角色表现为网络角色和工作者角色?所以我可以在一个实例上部署我的两个项目(“WebFrontEnd”项目和“QueueProcessor”项目)......

Edit1:我确实知道如何在同一个实例上部署各种Web项目......或者Web项目和WCF项目......但是我无法管理工作者角色项目......

2 个答案:

答案 0 :(得分:1)

在同一主题上有很多主题,基本上会告诉你不要这样做。请参阅此主题,例如:Can we have a worker Role and a web role in a single instance of Azure Cloud Services。不过,请查看此博客文章,了解如何合并网络和工作人员角色:http://www.31a2ba2a-b718-11dc-8314-0800200c9a66.com/2010/12/how-to-combine-worker-and-web-role-in.html

另一个想法可能是将它们分开,但是将它们部署在Extra Small实例中而不是更大的实例(1个小实例= 6个超小实例的成本)。如果您不关心SLA,则可能只部署Web和辅助角色的单个实例(在单独的VM中)。

答案 1 :(得分:0)

您无法在一个实例上部署两个不同的“端点”项目。但是,您的实例可以容纳两者的代码库,并作为容纳两个可执行文件的单个计算机。

只需从WebFrontEnd项目引用QueueProcessor项目,然后从WebRole.cs启动QUeueProcessor