node 一些思考

nodejs特点

单线程 异步处理

nodejs服务器模型

看下服务器模型进化史

石器时代 同步
青铜时代 复制进程
白银时代 多线程
黄金时代 事件驱动

nodejs处于黄金时代

nodejs适合场景

高流量 高并发 短小计算 手头紧
(事件循环处理能力 而不是启动每一个线程为 每一个请求服务 资源占用极少)

1.大促(双11 12 )
2.实时应用 (im 消息推送)
3.前后端分离 (使用node作为页面渲染层 )

针对cpu密集型计算也能做 使用主从模式来解决
口诀 cpu密集不可怕 合理调度是关键

nodejs业界使用

Paste_Image.png

加上天猫
https://github.com/tmallfe/tmallfe.github.io/issues/28

node天猫

  1. 完整的web应用
    从页面渲染 到业务逻辑 再到 数据库读取等 又称全栈应用

2.前后端分离
node代替serveer的view层 提供页面渲染的能力 有助于 server 数据化接口改造。

  1. node提供页面渲染服务

用户请求转发到 node 渲染服务,根据终端类型选择不同的页面响应(pc 页面,h5 页面, react-native 页面)。CDN 响应用户请求,并缓存页面。
基于这个服务,在双十一中提供了 900+ 活动页面的渲染,以及天猫首页和各个频道页的渲染工作,天猫的所有营销引流页面基本都由这个服务提供页面。

上面提到会根据终端类型对于同一个 url 返回不同的页面,而这些页面其实都是通过一个基于 node 开发的天猫页面搭建平台用模块搭建的。在这个平台上,超过 95% 的模块都拥有 pc 和无线两个版本,本次双十一所有用到的模块都有 react native 的版本。运营只需搭建 PC 上的页面,就会自动生成无线以及 react native 的页面。基于这套方案,我们通过 70+ 高质量的模块,让运营同学完成了超过 900+ 活动页面的搭建。

前端同学工作 :

编写模板
拿到数据(并处理),和模板进行结合
拿到请求上下文,时间、环境等系统变量来确定不同的展现
管理前端资源和依赖

你可能感兴趣的:(node 一些思考)