我目前正在为一个跟踪系统实现rabbitMQ,多个前端生产者在同一个队列上写入。
基本上我有两种类型的消息在队列中发送,因为跟踪工作流程有两个步骤:印象/点击 => 潜在客户/销售。非常简单:用户单击横幅,然后在他被重定向到的网站上执行操作。此操作可能需要几秒钟到几天才能完成。我需要在相应的印象或点击后消耗潜在客户或销售。
问题是我需要按时间顺序使用消息。虽然如果所有生产者以相同的速度在队列中发送消息(即消息应该以 FIFO 方式正确排序),那么一切都应该很好,但当其中一个生产者(出于某种原因)在队列中写入速度较慢时,我会遇到问题。
例如,如果我的潜在客户操作发生在点击操作之后一秒钟,而点击生产者停止了几秒钟,我将在点击之前消耗潜在客户,我的跟踪系统将无法工作。
我想知道如何根据附加到消息的标题设置队列的顺序。我所有的服务器都是同步的,它们的时钟有 <1ns 的差异,所以我想根据这些信息订购我的队列,但我在文档中找不到任何设置队列顺序或消费顺序的方法。
谢谢你的帮助。