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.
Du musst angemeldet sein, um einen Kommentar abzugeben.
AMQP-Warteschlangen-FIFO-Warteschlange. Unter hohen zahlen gleichzeitige Mitteilung veröffentlicht wurde, könnte es einige Mehrdeutigkeit, die Nachricht, die zuerst kommen, so können Sie erwarten, dass die Nachricht
one
und Nachrichttwo
möglicherweise nicht in derselben Reihenfolge in der Warteschlange, wie Sie geschehen ist, in der realen Welt. Es ist ein Preis Sie müssen zahlen für die HA und die Geschwindigkeit. Wenn Sie mehr darüber wissen möchten, verlangen Sie eine Frage im IRC rabbitmq-Kanal.Ich denke, dass die queue bedeutet Warteschlange, d.h. first in - first out. Mabe können Sie Sortieren, während der Verbrauch? Ich meine, Sie nehmen Sie, zum Beispiel, 10 Nachrichten aus der Warteschlange, analysieren Sie und setzen Sie Sie auf Ihre eigene Warteschlange oder Liste in der richtigen Reihenfolge.