最近Node.js 很火, 我对此很有兴趣,因为之前我自己也在使用Perl的AnyEvent。
Event/IO的一个要点是non-blocking。 Nginx能够解决c10k的问题,一个关键是使用 Event Loop取代传统的thread/pre-fork。要想充分发挥nginx的优势,需要后端和对应 模块都能够non-blocking才行。
然而,现实多数的架构都是blocking的,比如PHP/FastCGI, 即便nginx的前端再好,后端的应用依然是瓶颈。
所以,如何使用Event/IO实现non-blocking编程,是我们要关注的一个领域。
Ruby的EventMachine, Python的Twisted, Perl的AnyEvent都是不错的开始。
Node.js则是另一个选择。 Javascript似乎是天生的适合作Event/IO的编程语言。 上手轻松,简单。 对于我们来说,最困难的是开始,如何适应新的基于callback的处理模式,这是最大的挑战。
在未来一段时间内,我将把注意力集中到node.js和AnyEvent. 对于我目前正在规划的视觉中国C10平台中,这将是一个非常有趣解决方案。
强烈推荐关于node.js的slide:
http://nodejs.org/cinco_de_node.pdf
Why You Should Pay Attention to Node.Js
---
原文来自我的博客: