nodejs实战初体验带来的三连问:为什么使用nodejs中间层?优点是什么?有了nodejs干嘛还要java

最近的项目使用的前端react,中间层nodejs(express + kraken),后端java提供api服务,

在此不经要三连问:为什么使用nodejs中间层?优点是什么?既然nodejs就是后端为什么仅仅是做一个代理服务而不是完全用其承担后端服务?

nodejs特点就是基于chrome的v8引擎,采用事件驱动,非阻塞异步i/o,官网指出优点:轻量+高效

在请求后端数据过程中,你是否遇到过,数据结构完全不是你想要的(当然前端完全可以整合成自己想要的数据,但是数据量比较大,在浏览器端做运算,数组分组,包装这种处理显然影响了性能),跨域,或者说后端接口改了,你却不知道。而引入nodejs中间层正好能帮我们这边这些问题 ,通常node层就是前端在做,调用java提供api,进行简单的业务逻辑处理,运算,分组,包装自己想要的数据,前端想要的都在你的控制中,完美降低沟通成本,降低项目的耦合度,实现前后端分离。由前端来做controller层,甚至一些简单的业务逻辑,这样加快了前端开发进程,同时让java后端更加专注于业务处理。

至于最后一问,首先分层的实现了将前端的事情都交给前端控制,即使多一层代理通信上是有影响的,但做到了专业的人做专业的事,提高了开发效率,利大于弊。而nodejs即是来实现分层前后端分离,如果都是node做,岂不是又回到了未分层的原点。另外结合项目实践,个人觉得node层处理复杂业务逻辑不是很合适,即便使用函数式的异步promise,或者借助于指令式的异步async,处理大量的回调依然不是件简单的事情,( 另外有读到网友写的nodejs在连接数据库操作方便表现不稳定,本人并未做过测试。)

猜你喜欢

转载自blog.csdn.net/weixin_44329718/article/details/85339869