首页 新闻 会员 周边 捐助

请大神帮小弟看看我的小型分布式框架搭建 是否正确?

1
悬赏园豆:20 [已解决问题] 解决于 2017-09-15 14:29

小弟第一次搭建 分布式开发框架

想问以下这种模式是正确的嘛?

 

 把MVC应用项目 部署在 2台服务器,  MVC项目不处理逻辑, 只调用webapi接口数据, 然后渲染页面返回给客户端!

 

疑问

在A服务器 MVC控制器里调用B服务器webapi接口 会不会脱裤子放屁?

如果我在A服务器 MVC控制器里直接调用Dll 的业务层代码, 是否业务计算是发生在A服务器里的? 而我只调用webapi接口 相对的业务逻辑是不是发生在 webapi服务器那台服务器上 这样是不是好点?

狂扁小朋友的主页 狂扁小朋友 | 初学一级 | 园豆:10
提问于:2017-07-07 15:23
< >
分享
最佳答案
0

1、没问题,效率更高。

2、正如你所说。

 

其他疑问:

1、你这样如果webapi是一台的话,相当于把压力转换给了webapi项目,还是有单点问题。

2、如果分布式部署,需要考虑分布式Session,分布式存储等一系列问题。

3、你这个设计图貌似不太对劲(理论上终端是直接访问web api才对,而不是从mvc访问)

收获园豆:20
幻天芒 | 高人七级 |园豆:37205 | 2017-07-07 16:34

如果 终端直接访问 webapi 那html页面是在客户端进行渲染吗?

我想的是 用户通过访问MVC  MVC再访问数据, 然后在MVC服务器上渲染好了, 返回给客户端

还望大神指点下

狂扁小朋友 | 园豆:10 (初学一级) | 2017-07-07 16:38

@狂扁小朋友: 这样就不合理了。多跑了一层。如果是mvc后端渲染,不走ajax的话,那么就不需要api这一层。

幻天芒 | 园豆:37205 (高人七级) | 2017-07-07 21:54

@幻天芒: 谢谢大神指点 那请问 正确的做法 是通过 前端页面请求 webapi  然后渲染页面吗?

狂扁小朋友 | 园豆:10 (初学一级) | 2017-07-10 10:21

@狂扁小朋友: 要看你那边的需求如何。大致以下一些做法:

1、直接MVC,干掉webapi这层。后端渲染。

2、直接写纯静态页面,然后通过Webapi进行交互。客户端渲染(一般结合mvvm框架/库)。

3、混合式做法,利用mvc后端渲染基本内容,然后通过api渲染局部区域。前后端混合渲染。

幻天芒 | 园豆:37205 (高人七级) | 2017-07-10 11:33
其他回答(2)
0

mvc里调用webapi其实挺正常.

吴瑞祥 | 园豆:29449 (高人七级) | 2017-07-07 16:02

 但是在mvc的后台代码调用,就不怎么正常。

支持(0) 反对(0) 幻天芒 | 园豆:37205 (高人七级) | 2017-09-15 21:31

@幻天芒: 不会啊。比如我有多端。然后这些多端的服务器。都调用统一的一个内部业务服务器。

我们现在的系统就是。web/app的web服务。都调用一个webapi的内部服务。不然很多东西都是重复的

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2017-09-15 21:44

@吴瑞祥: 这种场景,更多的是业务层共享。如果在mvc的后台中,再去调用一次webapi,性能会降低不少。

当然,现在更流行的多端是一个api,N个无后端渲染的Client。

支持(0) 反对(0) 幻天芒 | 园豆:37205 (高人七级) | 2017-09-16 08:29

@幻天芒: 看个人吧.我觉得这种性能问题完全不是问题.

如果用dll的方式.一改就得全发一边.

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2017-09-16 10:22

@幻天芒: 主要是方便.发一个就行了.

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2017-09-16 10:22

@吴瑞祥: 实际上,分离之后更方便,哈哈~你这个做法只是比较少见。

支持(0) 反对(0) 幻天芒 | 园豆:37205 (高人七级) | 2017-09-16 17:49
0

给你参考一下

czd890 | 园豆:14488 (专家六级) | 2017-07-07 22:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册