Ruby非阻塞库与Node

时间:2012-03-19 18:52:36

标签: javascript ruby node.js nonblocking eventmachine

我正在评估Ruby EventMachine(以及类似的非阻塞框架,如Cramp)和Node.js.我曾经使用过Node,但从未使用过EventMachine。 Ryan Dahl鼓励的一个想法是,javascript中的库生态系统必须是类似的非阻塞才能促进这一点。这是Node从头开始开发的部分原因。

我的问题是,你可以在没有阻止的情况下在Ruby中取得进展吗?我的假设是单独使用EventMachine通常不足以构建完整的Web应用程序堆栈。如果是这样,Ruby中的其他哪些库会促进非阻塞IO(即数据库/文件系统/ http访问)?

2 个答案:

答案 0 :(得分:2)

您应该查看Ilya Grigorik的大量工作以及他在SynchronyGoliath上的工作。

它们可以帮助您以命令式样式编写具有回调的异步代码(看起来是同步的)。

答案 1 :(得分:1)

正如@Holder刚才指出的那样,这里有一个非阻塞库列表可以与EventMachine一起使用:

https://github.com/eventmachine/eventmachine/wiki/Protocol-Implementations