AP4R - 异步消息模块


未知
跨平台
Ruby

软件简介

AP4R是Asynchronous Processing for
Ruby的缩写,意即“Ruby的异步处理”。该项目是一个异步可靠消息处理的实现,提供消息队列和消息分派的功能。

目前已经能支持:

  1. 不管业务逻辑是非同步调用还是同步调用的,都可以以简单的Web应用或者Ruby代码的形式实现;
  2. RBMS(MySQL)或者基于文件的消息持久化能力;
  3. 支持在单个或者多个服务器上跨多个AP4R进程的负载平衡;
  4. 对以下多个协议的支持:XML-RPC、SOAP和HTTP POST等等。

要将AP4R整合进Rails,典型流程如下:

  1. 客户端(如Web浏览器)向Web服务器(Apache和Lighttpd等)发送请求;(
  2. Rails应用通过mod_proxy或者其它被同步地在mongrel上执行;
  3. Rails应用通过AP4R的API发送消息,并可以在随后立刻响应给客户端;
  4. AP4R将消息放入队列,并且异步地将其请求到Web服务器;
  5. 异步的业务逻辑(以常见的Rails Action的形式实现)被执行。