一个解决方案中的多个Azure云服务

Jam*_*mie 5 c# asp.net azure visual-studio-2012

我有三个在Azure上运行的Web项目,目前所有站点都在一个实例中,非常适合降低成本,但当其中一个Web项目需求达到峰值时,这一点就不那么好了,这会降低其他服务的速度并使其停止运行.

其中2个站点位于同一个域(一个具有不同的端口),另一个位于子域中.站点的好处是您可以使用主机名来区分在同一端口上运行的站点.如果子域网站被引用为Web角色,则需要与其他两个Web角色不同的端口 - 而不是我完全不需要的东西!

问题是虽然我可以使用两个云服务,但您无法在解决方案中同时调试它们.把他们内部的两个解决方案简化了问题,但他们都有一个类库,它改变的时候,有这样一个单独解决网络角色里面使得它非常棘手的在我的经验调试.

任何帮助是极大的赞赏!

ast*_*kov 3

这里真正的问题是什么?

首先,我不认为将所有站点放在一个 WebRole 中存在问题。当达到峰值时,只需横向扩展即可。是的,您将扩展所有站点,但这只是一个优势。Windows Azure 负载均衡器使用 RoundRobin 算法,保证所有请求在所有实例之间均匀发送。我会再说一遍 - 当你看到峰值时,只需横向扩展,无需担心。毕竟,这就是 Azure 的意义。对于成本来说,这并不重要,因为无论如何你都会扩展。无论是每个 Web 角色一个站点,还是每个 Web 角色 10 个站点,规模就是规模,并且花费相同的资金。

至于另一个关心的问题。我一直在处理很多多项目解决方案。我从未见过多个项目使用的公共库出现问题。特别是当一切都在(源)控制之下时。Visual Studio 具有“添加现有项目”的巧妙功能(当您右键单击解决方案时):

添加现有项目

因此,您的公共类库只是在许多解决方案中使用的单个项目,并在文件系统的单个位置上进行编辑。

作为底线,我会再说一遍 - 如果您唯一遇到的麻烦是当您在高峰期扩展站点时,您也会扩展其他站点,但不要这样做!如果您不想在高峰期进行扩展,并不想让网站瘫痪,那就不要使用 Azure。