我正在开发一个可扩展的应用程序,我使用Web角色,队列,工作者角色设计......但是现在(在alpha测试阶段)我关注成本削减,因为我患有常见的“现金流出”问题......
因此,由于阶段的测试性质,我想知道是否有办法使角色表现为网络角色和工作者角色?所以我可以在一个实例上部署我的两个项目(“WebFrontEnd”项目和“QueueProcessor”项目)......
Edit1:我确实知道如何在同一个实例上部署各种Web项目......或者Web项目和WCF项目......但是我无法管理工作者角色项目......
答案 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