node适合开发什么项目?

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,一个让 JavaScript 运行在服务端的开发平台。那么node适合开发什么项目?下面本篇文章就来介绍一下。

node特点:

单线程、异步式I/O、事件驱动机制、跨平台。

Node.js适合用来开发什么样项目(应用程序)?

善于I/O,不善于计算。因为Node.js最擅长的就是任务调度,如果你的业务有很多的 CPU 计算,实际上也相当于这个计算阻塞了这个单线程,就不太适合Node开发,但是也不是没有解决方案,只是说不太适合。

当应用程序需要处理大量并发的I/O,而在向客户端发出响应之前,应用程序内部并不需要进行非常复杂的处理的时候,Node.js非常适合。Node.js也非常适合与websocket配合,开发长连接的实时交互应用程序。

具体场景可以表现为如下:

1、用户表单收集系统、后台管理系统、实时交互系统、考试系统、联网软件、高并发量的web应用程序;

2、基于web、canvas等多人联网游戏;

3、基于web的多人实时聊天客户端、聊天室、图文直播;

4、单页面浏览器应用程序;

5、操作数据库、为前端和移动端提供基于json的API。

Node的优缺点

优点:

1、高并发(最重要的优点)

2、适合I/O密集型应用

缺点:

1、 不适合CPU密集型应用;CPU密集型应用给Node带来的挑战主要是:由于JavaScript单线程的原因,如果有长时间运行的计算(比如大循环),将会导致CPU时间片不能释放,使得后续I/O无法发起;

解决方案:分解大型运算任务为多个小任务,使得运算能够适时释放,不阻塞I/O调用的发起;

2、 只支持单核CPU,不能充分利用CPU

3、可靠性低,一旦代码某个环节崩溃,整个系统都崩溃

 原因:单进程,单线程

 解决方案:

 (1)Nnigx反向代理,负载均衡,开多个进程,绑定多个端口;

 (2)开多个进程监听同一个端口,使用cluster模块;

4、 开源组件库质量参差不齐,更新快,向下不兼容

5、 Debug不方便,错误没有stack trace

以上就是node适合开发什么项目?的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » Node.js答疑