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天猫
- 完整的web应用
从页面渲染 到业务逻辑 再到 数据库读取等 又称全栈应用
2.前后端分离
node代替serveer的view层 提供页面渲染的能力 有助于 server 数据化接口改造。
- node提供页面渲染服务
用户请求转发到 node 渲染服务,根据终端类型选择不同的页面响应(pc 页面,h5 页面, react-native 页面)。CDN 响应用户请求,并缓存页面。
基于这个服务,在双十一中提供了 900+ 活动页面的渲染,以及天猫首页和各个频道页的渲染工作,天猫的所有营销引流页面基本都由这个服务提供页面。
上面提到会根据终端类型对于同一个 url 返回不同的页面,而这些页面其实都是通过一个基于 node 开发的天猫页面搭建平台用模块搭建的。在这个平台上,超过 95% 的模块都拥有 pc 和无线两个版本,本次双十一所有用到的模块都有 react native 的版本。运营只需搭建 PC 上的页面,就会自动生成无线以及 react native 的页面。基于这套方案,我们通过 70+ 高质量的模块,让运营同学完成了超过 900+ 活动页面的搭建。
前端同学工作 :
编写模板
拿到数据(并处理),和模板进行结合
拿到请求上下文,时间、环境等系统变量来确定不同的展现
管理前端资源和依赖
网友评论