搜索

首页  >  问答  >  正文

javascript - node做中间层是什么意思,能具体详说么?

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

怪我咯怪我咯2753 天前855

全部回复(5)我来回复

  • PHP中文网

    PHP中文网2017-05-16 13:45:16

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

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

    回复
    0
  • phpcn_u1582

    phpcn_u15822017-05-16 13:45:16

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

    回复
    0
  • 怪我咯

    怪我咯2017-05-16 13:45:16

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

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

    回复
    0
  • 为情所困

    为情所困2017-05-16 13:45:16

    node就是链状执行

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

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

    回复
    0
  • phpcn_u1582

    phpcn_u15822017-05-16 13:45:16

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

    回复
    0
  • 取消回复