计算平均往返时间(AMQP / RabbitMQ)

时间:2011-05-10 09:47:03

标签: ruby messaging rabbitmq amqp

鉴于RabbitMQ节点集群中有一堆队列从主题交换中获取消息,我希望能够以编程方式回答这个问题:

  

对于队列X,消息传递/往返时间的当前粗略估计是多少?

使用RabbitMQ管理插件的API进行内省,我可以想到一大堆实现它的方法,其中没有一个非常难以实现([number of queued messages + 1] * average processing time),但这种感觉有点像喜欢重新发明轮子。有没有既定的最佳实践?甚至可能是RabbitMQ提供的一些开箱即用的机制?

(为了记录,我们正在与Ruby讨论RabbitMQ 2.4.1,使用好的旧bunny 0.6.0以及一些自定义抽象代码。)

1 个答案:

答案 0 :(得分:0)

我已经使用RabbitMQ Erlang客户端实现了PoC的功能。你可以在这里看到一个演示:http://vimeo.com/20966661

使用的模式称为智能代理,如企业集成模式一书中所述。

然后要查看代码示例,请查看此库:https://github.com/videlalvaro/rmq_patterns

查找amqp_smart_proxy.erl文件