1

我只是在为多租户企业系统组装基本框架的过程中。

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

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

还是应该将其全部集成为一个项目,并随着负载的增加(动态云扩展)扩展 sql server 端?

在将我们的帽子扔进戒指之前需要一些建议。

提前致谢

4

1 回答 1

1

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

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

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

干杯,院长

于 2012-07-12T12:51:14.367 回答