【问题标题】:RabbitMQ 3.1.3 and the missing timestamp headerRabbitMQ 3.1.3 和缺少的时间戳标头
【发布时间】:2013-08-02 20:56:55
【问题描述】:

如果消息中缺少时间戳头,是否可以配置代理插入时间戳头?那么如果发布客户端不添加时间戳头,那么broker是否可以插入一个时间戳值与交易所接收到消息的时刻相匹配的时间戳值呢?我应该在哪里寻找该配置?或者这是一个坏主意?

【问题讨论】:

标签: timestamp rabbitmq amqp stomp broker


【解决方案1】:

所以要回答你的问题,没有办法配置代理插入时间戳。 AMQP 规范中的任何内容都不需要消息知道它何时到达代理,请记住,在代理端手动插入时间戳只会表示代理接收到消息的时间,而不是发布消息的时间。

如果您一心想要这样做,您可以编写自己的 RabbitMQ 插件来执行此操作,但我不建议您这样做。相反,我建议强制您的生产者在其消息属性中包含时间戳。

资源:

RabbitMQ Message Arrival Timestamp

RabbitMQ AMQP.BasicProperties Java API

【讨论】:

    【解决方案2】:

    截至 2015 年,原始问题有了新答案。

    This plugin 将完全符合您的要求。

    请记住,这将有一些最小的开销,因为它会挂钩所有正在排队的消息。

    【讨论】:

      猜你喜欢
      • 2019-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多