单页应用服务器关注点分离

时间:2012-07-12 01:48:14

标签: sql-server asp.net-mvc client-server scalability asp.net-web-api

我正在为多租户企业系统整合基础框架。

客户端将是一个asp.net mvc网页,通过ajax通过asp.net web api与数据库通信。

我的问题确实存在于可扩展性方面。我应该从服务器分离客户端吗?即一个项目中的客户端/前端代码/视图和另一个单独项目服务器中的webapi。 因此,如果一台服务器开始(服务器A)以负载/大小达到峰值,那么所有需要做的就是创建另一个服务器实例(服务器B),所有新客户将指向服务器B上的webapi。

或者它应该全部集成为一个项目,并在负载增加(动态云扩展)时扩展sql server端的东西?

在把帽子扔进戒指之前需要一些建议。

提前致谢

1 个答案:

答案 0 :(得分:1)

我们已经选择了分离API和单页应用程序的途径。这里的原因是它迫使您将单页面应用程序视为另一个客户端,这反过来导致API提供完整客户端所需的所有功能......

在部署方面,我们将单页面应用程序作为网站根目录,并使用包含API部署的/ api应用程序。在前提下,我们可以使用应用程序请求路由或一些内容感知路由机制,以便在必要时将内容输出到不同的服务器。在Azure中,我们使用每个角色机制的多个网站(http://msdn.microsoft.com/en-us/library/windowsazure/gg433110.aspx)并根据负载扩展此角色。

似乎生活在同一个域中会让事情变得更容易,因为您不必为JSONP或CORS的丑陋而烦恼!

干杯, 迪安

相关问题