新手问题 请问 Rack、ActiveResource、EventMachine 之间的区别和联系

whitecrow · July 19, 2012 · Last by ruohanc replied at October 20, 2012 · 4890 hits

大家好,我是一个 Rails 新手,想请问一下 Rack、ActiveResource、EventMachine 之间的区别和联系,能简单地说说吗?或者有这方面的博文么?

Rack 是把底层那些 Http 请求处理什么的打包起来的东西 EventMachine 是状态机吧,当 Model 的实例状态变化时你可以设定启动某些操作,比如发邮件什么的。 ActiveResource 就不懂了。还没接触到。。。

#1 楼 @pepsin 这......,关于 EventMachine, 有点误导同学了哈。 to @whitecrow:

  1. 关于 Rack,如果不喜欢看英国历史,有一篇中文的,@potian 写的文章
  2. 关于 EventMachine, 要了解它的原理,关键是掌握 Reactor 模式,理论可参考POSA2 .类似的库有 libevent,libev 等。
  1. Rack 是模块话的 webserver 的接口,用来封装 http 的 request 和 response.
  2. EventMachine 并不是啥状态机。是 ruby 里面 Reactor 模式的实现,提供基于事件的 IO 处理。各语言都有类似的库,如现在很或的基于 V8 的 NodeJS 库,Python twisted 等
  3. ActiveResource 其实就是让我们轻松的构建基于 REST 风格的 Web Service 具体的在 Github 上各项目的 wiki 页都很详细了

感谢,学习!正不知道 Rack 为何物

#2 楼 @skandhas 当 StateMachine 处理了。。。也是初学者。。。不好意思了

rack 是 ruby 应用服务器和 rack 应用程序之间的接口,用户的请求到达应用服务器时,应用服务器会调用 Rack,rack 对请求进行一些包装,然后在调用 rack 程序

#3 楼 @weihuilee 基于事件的 IO 处理.? 这根 resque 的队列有啥区别.?

sqsy in 整理学习 EventMachine 的一些文章和帖子 mention this topic. 08 Sep 17:05
You need to Sign in before reply, if you don't have an account, please Sign up first.