AP4R异步消息模块
AP4R是Asynchronous Processing for Ruby的缩写,意即“Ruby的异步处理”。该项目是一个异步可靠消息处理的实现,提供消息队列和消息分派的功能。
目前已经能支持:
- 不管业务逻辑是非同步调用还是同步调用的,都可以以简单的Web应用或者Ruby代码的形式实现;
- RBMS(MySQL)或者基于文件的消息持久化能力;
- 支持在单个或者多个服务器上跨多个AP4R进程的负载平衡;
- 对以下多个协议的支持:XML-RPC、SOAP和HTTP POST等等。
要将AP4R整合进Rails,典型流程如下:
- 客户端(如Web浏览器)向Web服务器(Apache和Lighttpd等)发送请求;(
- Rails应用通过mod_proxy或者其它被同步地在mongrel上执行;
- Rails应用通过AP4R的API发送消息,并可以在随后立刻响应给客户端;
- AP4R将消息放入队列,并且异步地将其请求到Web服务器;
- 异步的业务逻辑(以常见的Rails Action的形式实现)被执行。
评论