Celluloid 以及其生态圈里的任何成员都已经死了。事实上它还不如死的比他更早的 EventMachine。EM 至少保持了其生态系统里各组件的一致性,你现在仍然可以用 EM 这一套东西来轻松搭建一个 web server。但是 Celluloid 的圈子是一片混乱。最新的 Reel (默认0.5.0,你可以安装0.6.0-pre 或者从 github 安装,但是仍然有别的问题) 和 reel-rack-0.2.2 依赖的 celluloid-supervision 不支持 Celluloid 0.17.1.1。改了几次版本,每次都有新的依赖问题。一个 Bug 挂在 github 上半年也没有人修复。关键问题是 Celluloid 还是一个比较松散的生态,下面互相依赖的 gem 大概有那么十几个,如果全 fork 出来自己一个个去解决 dependency 的问题也不是不可能,问题是这么做意义何在?我还不如自己从头写一个简单的算了。
Litchi V2 将不再采用 EM,这一点是毋庸置疑的。现在看来 Celluloid 我们也不可能使用。现在我的计划是采用 Concurrent-ruby 提供的各种工具来写一个新的 web server 框架。这可能需要花比较多的时间,在这之前我想先用 plain rack 或者 grape 写一个基本能 work 的 web server,然后用 puma 跑起来,看看性能如何。