当前位置:  开发笔记 > 编程语言 > 正文

在两个物理服务器中托管ASP.NET MVC项目

如何解决《在两个物理服务器中托管ASP.NETMVC项目》经验,为你挑选了1个好方法。

我有一个ASP.NET MVC项目需要托管在两个不同的服务器上.我知道这看起来很奇怪,但这是我客户的要求.

详细说来,我将有2个负载平衡服务器

Web服务器 - 向公众公开(域将指向此服务器的公共IP)

App Server - 与内部基础架构(Active Directory,数据库,安全性等)通信

简单的图表

我正在考虑创建另一个层(ASP.NET Web API),以便Web服务器仅提供HTML页面,应用服务器将包含业务逻辑并公开要调用的所有客户端(Web,移动)的端点.Web Server将通过RESTFUL服务与App Server通信.

还有更好的方法吗?任何解决方案将不胜感激.

提前致谢,



1> Mourndark..:

这是一种相当正常的做事方式 - 让Web服务器专注于提供服务页面,让后端服务器使用应用程序业务逻辑进行艰苦的工作.如果它大量使用大数据吞吐量,我会考虑使用单独的Web,应用程序和数据库服务器制作三层.

Web API也是两个服务器之间通信的不错选择,但如果您发现需要超越基本的REST操作,则可能值得考虑将WCF作为替代方案.让它运行起来是一个更大的开销,而且绝对不适合胆小的人!

编辑

因此,您需要做的是将所有当前业务逻辑从现有控制器中移出,并放入将位于第二台服务器上的相应Web API控制器集中.如果您小心,您应该能够将MVC控制器方法直接复制到Web API控制器中并添加适当的路由属性.您的数据库(如果有的话)也需要坐在第二台服务器上.

完成后,所有MVC控制器都会调用第二台服务器上运行的Web API.除了基本的调整之外,MVC控制器不应对您的数据进行任何处理,以使其看起来很好(保持控制器清洁无论如何都是好的做法).

这应该让您基本了解您需要做什么.如果您需要更具体的任何步骤,请大声说,我会看看我是否可以详细说明.

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有