RabbitMQ Warteschlange order management

Ich bin derzeit auf der Implementierung rabbitMQ für ein tracking-system mit mehreren front-Produzenten schreiben auf der gleichen Warteschlange.

Im Grunde habe ich zwei Arten von Nachrichten in der Warteschlange, als die tracking-workflow besteht aus zwei Schritten : impression/Klick => lead/sale.
Es ist sehr einfach : Der Benutzer klickt auf ein banner, dann führt eine Aktion auf der website, dass er weitergeleitet wird. Diese Aktion kann einige Sekunden dauern, um ein paar Tage zu tun.
Ich brauche zu konsumieren, die Führung oder den Verkauf NACH der nach impresison oder klicken Sie auf.

Das problem ist, dass ich brauchen, um zu konsumieren Nachrichten in chronologischer Reihenfolge. Während sollte alles gut sein, wenn alle Hersteller senden von Nachrichten in der Warteschlange mit der gleichen Geschwindigkeit (dh, die Nachrichten sollten, um richtig in einer FIFO-Weise) werde ich Probleme haben, wenn einer der Hersteller schreibt (aus irgendeinem Grund) langsamer in der Warteschlange.

Zum Beispiel, wenn meine lead-Aktion eine Sekunde nach dem klicken Sie auf Aktion, und klicken Sie auf die Hersteller-Stände für ein paar Sekunden, ich werde konsumieren, die Führung vor der klicken Sie auf und meine tracking-system wird nicht funktionieren.

Ich würde gerne wissen, wie man eine Bestellung für eine Warteschlange nach einer Kopfzeile, die an die Nachricht angehängt.
Alle meine Server sind synchronisiert und Ihre Uhren haben <1ns Unterschied, so möchte ich, um meine Warteschlange nach diesen Informationen, aber ich kann nicht finden überall in der doc einen Weg, um das setup der Warteschlange, um-oder Verbrauch um.

Vielen Dank für Ihre Hilfe.

InformationsquelleAutor user1159791 | 2013-03-19
Schreibe einen Kommentar