跳到主要内容

1.4-应用场景

Create by fall on 16 May 2022 Recently revised in 08 Jan 2025

node 中间层

中间层:作为浏览器服务器之间的处理进行使用

客户端原本直接向 Server 发送请求,Server 收到请求之后将信息传递给浏览器。如今浏览器会将请求发送给node 层,node 层将信息进行处理之后在想 server 层发送请求,Server 层处理完毕将响应结果返回给 node 层,node 层最后将数据返回给浏览器。

请求数据:
原来:
客户端 ---> 服务端
现在:
客户端 ---> 中间件 ---> 服务端

响应数据:
原来:
客户端 <--- 服务端
现在:
客户端 <--- 中间件 <--- 服务端

代理转发

node 层 可以向 server 层获取数据,再通过对数据的计算整合转换成符合前端 UI 要求的数据格式。另外整个应用如果采用微服务架构,那么 Server层 会有很多台管理单独业务模块的服务器,node层 就很好的适配了微服务的架构,它可以向多台服务器发起请求获取到不同模块的数据再整合转化发送给前端。

浏览器首先将请求发送给 node服务器,请求收到后 node服务器 可以对请求做一些处理,比如将原来的路径变换一下,请求头的信息改变一下,再把修改后的请求发送给远程真实的服务器。

远程服务器计算出响应结果再返回给 node服务器node服务器 仍然可以对响应做选择性处理再分返回给浏览器。

代理转发可以解决前端日常开发中经常遇到的跨域问题,另外它还屏蔽了远程真实服务器的细节,让浏览器只与 node服务器 通信(反向代理,用户只和代理服务器进行交互,无法接触到真实处理服务器)。

接口聚合

将 A、B 两个服务器中的数据进行计算,得出结果后,再返回给前端

数据缓存

使用 redis 对不经常变更的数据进行缓存

接口限流

对恶意接口进行限制(短时间内进行多次请求

日志操作

管理日志的功能

其它功能

监控、鉴权和服务器端渲染

参考文章

作者文章名称
Kay_浅谈nodejs中间层