javascript - node做中间层是什么意思,能具体详说么?
怪我咯
怪我咯 2017-05-16 13:43:16
0
5
840

没接触过node,经常看文章说node做中间层,不知道具体指什么意思?比如在程序中解决了什么问题,如果说解决了渲染问题,那也是页面端,前端框架已经解决了,难道说是后端渲染前端框架,然后整个塞到前端吗?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(5)
洪涛

很多项目中后端应用往往不止一个服务,而是一群各司其职的服务,比如nginx的存在就是因为服务器上运行着多个服务,而不同的网络请求由不同的服务处理,需要在这些服务前假设一层nginx做为代理,将请求分发给不同的服务,nginx在这里的角色就相当于中间层。

对于一个比较复杂的web站点,页面中的请求通常分为两种,请求页面与请求数据(ajax)。如果后端是个单体应用,当发现所有请求量太多应付不过来的时候就可以考虑做这样的分离,将处理页面渲染的请求分给另一个服务,挡在前面,自己只负责数据相关的请求。nodejs擅长处理io密集型任务,很适合做处理页面渲染的服务,于是很多人选择了nodejs。淘宝也是类似的架构,据说现在所有淘宝的页面都是由node服务渲染的。

phpcn_u1582

讲道理就是用nodejs做静态资源管理和请求转发。
做到后端只管数据接口,前端负责路由,静态资源。

刘奇

加了node的中间层,可以让前端处理view层和control层,后端只负责处理model层。前后端分离比较彻底,分工更明确一些吧。

另外就是有些框架在服务器不是node的时候SEO比较难做。加了node中间层后比较好做SEO

为情所困

node就是链状执行

请求接收 -> 中间件1 -> 中间件2 -> ... 中间件n ... -> 返回

中间件就是某一个处理操作

phpcn_u1582

可以看看淘宝的midway。可以说核心概念都有了。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板