node做中间层的好处是什么?

node最大的改良架构就是‘增加了中间层’。下面我们来看一下使用node做中间层的好处,希望对大家有所帮助。

node做中间层的好处:

前后端分离,使用node来做‘BBF(backend of frontend)’在传统后端加入了node这一层,通过此有两点好处,前端接管了view层,后端渲染也开始全部由前端掌控,另一个就是接口层增加了一层。

前端接口层

后台返回的数据适不适合前端使用的,因为后台数据来自于领域建模,而前端作为数据的消费者,所需要的数据是UI数据。所以我们需要做数据转化。

service层

将这些数据集中处理,我们用的是service层,在node之前专门有个service层是在前端完成的,这极大影响了前端性能。

性能上

实现异步并行
service层的复用和缓存

开发上

解耦。
当后端数据源发生改变的时候,前端页面也需要跟着改变。因为前后端紧密耦合到数据接口的。但是如果加入了一层node层。只需要处理对应的业务逻辑。

在前后端分离的天然选择下,node中间层可以承担更多的责任:

代理:在开发环境下,我们可以利用代理来,解决最常见的跨域问题;在线上环境下,我们可以利用代理,转发请求到多个服务端。

缓存:缓存其实是更靠近前端的需求,用户的动作触发数据的更新,node中间层可以直接处理一部分缓存需求。

限流:node中间层,可以针对接口或者路由做响应的限流。

日志:相比其他服务端语言,node中间层的日志记录,能更方便快捷的定位问题(是在浏览器端还是服务端)。

监控:擅长高并发的请求处理,做监控也是合适的选项。

鉴权:有一个中间层去鉴权,也是一种单一职责的实现。

路由:前端更需要掌握页面路由的权限和逻辑。

服务端渲染:node中间层的解决方案更灵活,比如SSR、模板直出、利用一些JS库做预渲染等等。

这些,都是在有个node中间层的好处,使得服务更加的灵活。当然,node也有很多弊端,如果设计不好,很容易让代码充满callback 。CPU使用率较重、IO使用率较轻的应用——如视频编码、人工智能等,Node.js的优势无法发挥(在后面的成熟更新中,node对这类问题可能也有比较好的解决方案)。

以上就是node做中间层的好处是什么?的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » Node.js答疑