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做中间层的好处是什么?的详细内容,更多请关注易知道|edz.cc其它相关文章!