2012-11-23 50 views
5

我有在Azure上运行3个Web项目,目前所有的网站一个实例中,伟大的降低成本,但没有那么大当web项目之一在需求高峰,其缓慢的其他服务下降/让它停下来。多Azure的云计算服务于一体的解决方案

的站点2坐在相同的域(一个具有不同的端口),一个在一个子域。关于站点的好处是您可以使用主机名来区分在同一端口上运行的站点。如果子域名网站被引用为网络角色,那么它将需要不同的端口到其他两个网络角色 - 而不是我所追求的!

的问题是,虽然我可以用两个云服务,你不能同时调试他们的解决方案中。将它们放在两个解决方案中可以简化问题,但它们共享一个经常变化的类库,如果在Web角色的单独解决方案中使用这个解决方案,则根据我的经验进行调试非常棘手。

任何帮助,非常感谢!

回答

3

这里真正的问题是什么?

首先,我没有看到,通过具有在单一WebRole所有站点的问题。当一个人达到高峰时 - 就是向外扩展。是的,你会扩大所有的网站,但这只是一个优势。 Windows Azure负载均衡器使用RoundRobin算法,该算法可确保所有请求均匀地发送到所有实例。我会再说一遍 - 当你看到高峰时,只需向外扩展,无需担心。毕竟,这就是Azure在那里的地位。对于成本来说它并不重要,因为无论如何你都会扩大规模。无论是每个网站角色的单个网站,还是每个网站角色的10个网站,规模都是规模化并且花费相同的资金。

至于其他的关注。我一直在处理一个多项目解决方案。我从来没有见过多个项目使用过的公用库的问题。特别是当一切都在(源)控制之下时。 Visual Studio中有“添加现有项目”(当你右键点击解决方案)的实用的功能:

Add Existing Project

所以,你常用的类库只是在许多解决方案中使用和编辑在一个单一的项目文件系统的单个地方。

至于底线,我会再说一遍 - 如果只有打扰你拥有的是,当你在高峰向外扩展的网站,你还会扩展其他网站,只是不!如果您不想在繁忙的高峰期进行缩放,并且让站点停止工作 - 只需不烦恼使用Azure即可。

+0

我扩大规模,所以目前没有这个问题。我不知道添加一个现有的项目只是简单地引用它,所以非常感谢!我想我的问题是:是否值得从API分离出一个网站,将它们分成不同的云服务? – Jamie

+1

分离的主要动机是允许不同的更新周期和不同的缩放模式,所以这是您需要权衡的因素,因为经常变化的共享程序集会增加复杂性。也许你需要看看如果分离是可取的如何管理? –

+0

谢谢Yossi。在一天结束时,API很少会与其他两个角色同时更改,是的,缩放模式会有所不同,所以您已经回答了我的问题,再次感谢! – Jamie

相关问题