-- 《Node.js入门经典》,由George Ornbo创作,是一本极好的Node.js入门读物。本文为读该书时的一些笔记。
Node.js是我去年才听说的,后知后觉了。Node.js在高性能并发处理上非常出色,突破性开发了使用JavaScript开发服务器应用的平台。
Node.js并发
并发对于很多程序员来说并不陌生,无论是C/C++系,还是Java系程序员,并发都是一件高难度的事情,无异于钢丝上的芭蕾舞,做得巧妙了美丽异常,但一个趔趄,也够喝一壶的了,甚至大盘崩溃。
Node.js通过事件驱动方法解决了并发编程的问题。虽然很多其他语言都提供了事件驱动编程,这种思想也早已出现在C系、Java系开发中,但Node.js却做了一个巧妙地回转,它借助了最擅长事件循环的JavaScript作为其开发语言,JS是最精于事件循环的语言之一。
多线程无异于是解决并发的较好方式,但Node.js的核心哲学是在事件循环和单一进程的上下文中尝试并编程。Node.js对解决网络编程、使用回调、事件循环和单一进程上有着自己的独特做法,并发基于事件驱动,而非多线程。
目前已经有第三方模块在Node.js中尝试线程、纤程。
Node.js的局限
Node.js在设计之初,目的是解决高并发的访问,重点在于解决网络中高速推送数据。因此,Node.js并不擅长做:
大量数据处理
长时间运算。