我目前正在实施rabbitMQ跟踪系统,多个前面的生产者在同一个队列上写。RabbitMQ队列订单管理
基本上我有两种类型的在队列发送的消息的,作为跟踪工作流有两个步骤:曝光/点击=>铅/销售。 这很简单:用户点击一个横幅,然后在他被重定向到的网站上执行一个操作。此操作可能需要几秒到几天才能完成。 我需要消费铅或销售后,相应的impresison或点击。
问题是我需要按照时间顺序使用消息。如果所有生产者都以相同的速度在队列中发送消息(即,消息应以FIFO的方式正确排序),那么一切都应该是好的,但当生产者之一(由于某种原因)在队列中写入较慢时,我会遇到问题。
例如,如果我的领导行为发生的点击动作后一秒钟,点击制作摊位几秒钟,我会点击之前消耗的铅和我的跟踪系统将无法正常工作。
我想知道如何根据该附加到该消息的标题设置为使队列。 我所有的服务器都是同步的,他们的时钟有< 1ns的差异,所以我想根据这些信息来订购我的队列,但是我无法在文档的任何位置找到设置队列顺序或消费顺序的方法。
感谢您的帮助。
其实问题并不在于rabbitmq和“标准fifo”,它更多的是通过软件来弥补潜在的硬件故障(即:如果我的一个制作人员滞后并且花费太长时间,要求rabbitmq以非FIFO方式重新排序消息出于某种未知的原因)。 基本上是一个可怕的设计实践,我应该摆脱:) – user1159791 2013-07-24 10:25:36