Ist es möglich, um sicherzustellen, dass eindeutige Nachrichten werden in einem rabbitmq Warteschlange?

Grundsätzlich meine Konsumenten werden Produzenten. Wir bekommen einen ersten Datensatz und es wird an die Warteschlange gesendet. Ein Verbraucher nimmt ein Element und Prozesse, die Sie von diesem Punkt aus gibt es 3 Möglichkeiten:

  1. Daten ist gut und bekommt, ein 'guter' queue für Speicher -
  2. Daten ist schlecht und verworfen
  3. Daten ist nicht gut(noch) schlechte(noch nicht) so dass die Daten aufgebrochen, in kleinere Teile und schickte Sie zurück in die Warteschlange zur weiteren Verarbeitung.

Mein problem ist, mit Schritt 3, weil die Warteschlange wächst sehr schnell zunächst möglich, dass ein Teil der Daten wird zerlegt in einen Teil, das ist dupliziert in der Warteschlange und die Verbraucher auch weiterhin, Sie zu verarbeiten und am Ende in einer Endlosschleife.

Ich denke, die Art und Weise, um zu verhindern, dass gegen diese ist, um zu verhindern, dass Duplikate in der Warteschlange. Ich kann dies nicht auf der client-Seite, da im Laufe einer Stunde vielleicht habe ich viele Kerne Umgang mit Milliarden von Daten Punkte(von jedem client Scannen Sie es vor dem Absenden würde mich verlangsamen zu viel). Ich denke, dass dies getan werden muss, um auf der server-Seite, sondern, wie ich bereits erwähnt habe, die Daten sind ziemlich groß und ich weiß nicht, wie effizient sicherzustellen, dass keine Duplikate.

Ich vielleicht Fragen, die unmöglich, aber dachte, ich würde give it a shot. Irgendwelche Ideen würde sehr geschätzt werden.

InformationsquelleAutor Error_404 | 2012-04-14
Schreibe einen Kommentar