1.Node使用范围
A. 实时多人游戏
B. 基于web的聊天客户端
C. 将网络中的数据源进行合并的混搭软件(Mashup)
D. 基于JSON的API
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分布式应用
数据平台通常要在一个数据库中去寻找需要的数据。阿巴巴开发了中间层应用NodeFOX、ITier,将数据库集群做了划分和映射,查询调用依旧是针对单张表进行sql查询,中间层分解查询sql、并行地去多台数据库中获取数据并合并。NodeFOX能实现对多台MySql数据库的查询,如同查询一台MySQL一样,而ITier更强大,查询多个数据库如同查询单个数据库一样,这里的多个数据是指不同的数据库,如MySQL或oracle等其他数据库。