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