【问题标题】:Calculating average round-trip times (AMQP/RabbitMQ)计算平均往返时间 (AMQP/RabbitMQ)
【发布时间】:2011-05-10 09:47:03
【问题描述】:

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

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

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

(作为记录,我们正在与来自 Ruby 的 RabbitMQ 2.4.1 进行交谈,使用的是旧的 bunny 0.6.0,顶部有一些自定义抽象代码。)

【问题讨论】:

    标签: ruby messaging rabbitmq amqp


    【解决方案1】:

    我已经使用 RabbitMQ Erlang 客户端实现了 PoC 来完成您所要求的事情。你可以在这里看到一个演示:http://vimeo.com/20966661

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

    然后看一个代码示例看看这个库:https://github.com/videlalvaro/rmq_patterns

    查找 amqp_smart_proxy.erl 文件

    【讨论】:

    • 嗯……现在我再次阅读……我向您展示的内容主要适用于 RPC 类型的设置……您仍然可以从中获得灵感。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多