基于 Node.js 打造 Web 中间层

(一)什么是中间层

中间层(Middle Tier)也称作 应用程序服务器层 或 应用服务层,是 用户接口 或 Web 客户端 与 数据库 之间的逻辑层

(二)图解

中间层简单说就是在 客户端 和 服务端 之间架起来的一层。

(三)什么是中间件

中间件可以理解为一个对用户请求进行过滤和预处理的东西,它一般不会直接对客户端进行响应,而是将处理后的结果传递下去。

我们可以把中间件理解为一个实现某种特定功能的插件,用于扩展功能

1. 封装了一些处理一个特定事件的功能函数

2. 非内置的中间件需要 npm 安装

3. 封装了一些复杂但是通用的功能

(四)为什么要使用中间层

中间层是架构实现的一种方案,中间件是某种功能的封装~

安全方面:

1. 对服务器有一定的保障

如果不使用中间层,后端(服务端)的接口直接暴露在用户面前,有黑客攻击的话,能拿到服务器ip。使用中间层透传一下,可一定程度上保障服务器的安全,黑客即使拿到了ip,也不会直接攻击到服务器

2. 提升了开发效率

比如说表单验证,传统的方式,前端做一次校验,后端也要做一次校验,如果使用了中间层,前端做一次校验、中间层做一次校验就行了, 前端验证规则(js)在中间层(node)中也可以使用,一套代码就可以了。如果前端和后端同时验证,则需要两套验证规则。

3. 性能问题

node.js 事件驱动,非阻塞IO,天生异步

node.js 特点:

(1)轻量并且高效,在分布式设备运行数据密集型的实时应用

(2)node.js 单进程、单线程

(3)事件轮询实现并发操作:性能很好

传统的JAVA、PHP 会新开线程来处理请求,node.js 只有一个线程,没有办法新开线程。

JAVA或者PHP,一个线程大概需要2M的内存资源,8G服务器,可以同时处理4000个用户并发,如果访问量多,需要增加服务器,运行成本就上来了

node.js 不开辟新的进程,8G服务器,大约可以同时处理40000用户的并发

(五)为什么选用node做中间层

1. node 做中间层可以解决前端的跨域问题,跨域是浏览器的,服务端没有跨域问题

2. node 处理数据逻辑,前端专注页面渲染,实现真正意义上的前后端分离

后端只需要考虑接口如何实现,不需要嵌套前端代码,如果后端接口名称等不符合前端预期,前端可通过中间层透传更改接口名字

3. 跨系统或者跨终端,重用页面数据校验、逻辑代码,不需要重新写校验,中间层做校验,避免了前端和后端同时校验。

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值