Non-blocking/Evented/IO 将会改变我们传统的编程模式

最近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

 

---

原文来自我的博客:

 

http://nightsailer.com/2010/05/17/739.html

你可能感兴趣的:(编程,nginx,python,perl,Ruby)