学习Node.js 有怎样的好处
展开全部
node.js最大的卖点在于完全异步的I/O模型。
比于阻塞I/O,异步I/O模型极大提高web服务的并发性(可以参见我在另外一个问题的回答http://www.zhihu.com/question/20122137,node.js在各个平台上使用epoll,kqueue和IOCP等I/O事件框架)。对于I/O密集型应用来说,会有明显的性能提升。例如
对于大量采用Ajax long-polling的网站(典型的如聊天室,知乎的通知推送)能带来很大的提升;因为每一个的long-polling请求都会占用服务器的连接数,虽然大部分连接处在空闲状态,但并发性不强的web框架最终会被大量的连接耗死。而node.js的异步I/O模型最适合于处理这样的情形。
单线程不仅没有降低吞吐率(因为异步),也远离了死锁等同步不当导致的问题。有人会说node.js只有一个线程,不能很好的利用CPU;但实际上这不是问题:node.js可以通过多进程来提高并发能力;其次单进程多线程的程序
比于阻塞I/O,异步I/O模型极大提高web服务的并发性(可以参见我在另外一个问题的回答http://www.zhihu.com/question/20122137,node.js在各个平台上使用epoll,kqueue和IOCP等I/O事件框架)。对于I/O密集型应用来说,会有明显的性能提升。例如
对于大量采用Ajax long-polling的网站(典型的如聊天室,知乎的通知推送)能带来很大的提升;因为每一个的long-polling请求都会占用服务器的连接数,虽然大部分连接处在空闲状态,但并发性不强的web框架最终会被大量的连接耗死。而node.js的异步I/O模型最适合于处理这样的情形。
单线程不仅没有降低吞吐率(因为异步),也远离了死锁等同步不当导致的问题。有人会说node.js只有一个线程,不能很好的利用CPU;但实际上这不是问题:node.js可以通过多进程来提高并发能力;其次单进程多线程的程序
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询