Node.js简介(学习笔记)(1)

来源:互联网 发布:java wed个人网站 编辑:程序博客网 时间:2024/05/05 20:05


1.Node使用范围

A. 实时多人游戏

B. 基于web的聊天客户端

C. 将网络中的数据源进行合并的混搭软件(Mashup)

D. 基于JSONAPI

2.Node.js的特点

A. JavaScript有巨大的用户群

B. 实时高并发

C. 可同时运行在前端和后端

D. 异步

E. 事件

F. 回调

3.Javascript作为node.js实现的语言的原因

1.1 Web服务器的要点:

A. 事件驱动

B. 非阻塞I/O

1.2 Javascript的特点

A. 高性能

B. 符合事件驱动

C. 没有历史包袱添加非阻塞的I/O容易

D. 可以随心所欲的访问本地文件

E. 搭建websocket服务器端

F. 可以连接数据库

G. 可以如web Works玩转多线程

4.Node 单线程的弱点

A. 无法共享任何状态

B. 无法利用多核CPU

C. 错误会引起整个应用退出,应用的健壮性值得考验

D. 大量计算占用CPU导致无法继续调用异步I/O

5.Node充分利用CPU的两种方式

A. Node 可以通过编写C/C++扩展的方式更高效的利用CPU,将一些V8不能做到的性能极致的地方通过C/C++来实现

B. 如果单线程的node不能满足需求,甚至用了C/C++扩展后还觉得不够,那么通过子进程的方式,将一部分Node进程当做常驻服务进程用于计算,然后利用进程间的消息来传递结果,将计算与I/O分离,这样还能充分利用多CPU

6.Node分布式应用

数据平台通常要在一个数据库中去寻找需要的数据。阿巴巴开发了中间层应用NodeFOXITier,将数据库集群做了划分和映射,查询调用依旧是针对单张表进行sql查询,中间层分解查询sql、并行地去多台数据库中获取数据并合并。NodeFOX能实现对多台MySql数据库的查询,如同查询一台MySQL一样,而ITier更强大,查询多个数据库如同查询单个数据库一样,这里的多个数据是指不同的数据库,如MySQLoracle等其他数据库。  

Node.js简介
0 0
原创粉丝点击