So vermeiden Sie die gleichzeitige Verarbeitung von Nachrichten mit demselben InhaltJava

Java-Forum
Anonymous
 So vermeiden Sie die gleichzeitige Verarbeitung von Nachrichten mit demselben Inhalt

Post by Anonymous »

Ich verwende Java, Spring Boot, RabbitMQ. Ich habe Tausende von Nachrichten mit einem Text wie:

Code: Select all

{"carId":123,"actionId":126}
Ich habe eine Warteschlange namens „cars“ und einen Topic-Listener, der diese Nachrichten verarbeitet. Ich habe auch eine Umgebung mit mehreren Knoten, sodass viele Knoten dieselben Listener haben und alle diese Nachrichten verarbeiten. Das Problem, das ich lösen möchte, besteht darin, die gleichzeitige Verarbeitung desselben Autos mit derselben Aktion durch einen oder mehrere Knoten zu vermeiden (die Handlerlogik ist für dieselbe carId und actionId dieselbe).
Wenn die folgenden Ereignisse nur 1, 3, 4 für die Verarbeitung gültig sind, sollte der Rest nicht oder in der Warteschlange (nicht im Thema) verarbeitet werden, um die gleichzeitige Verarbeitung derselben Aktion und desselben Fahrzeugs zu vermeiden .
Veranstaltungen: Also habe ich über meine Autos nachgedacht. Wenn ich 1.000 Ereignisse hätte, würde die Verarbeitung von Autos in On-by-One-Weise die gesamte Geschäftslogik zu stark verlangsamen (ich habe nur drei Knoten), was nicht akzeptabel ist. < /p>
Ich war auch Wenn man überlegt, ob Kaninchen einen Mechanismus hat, um Nachrichten nach Hash zu gruppieren und Nachrichten-Duplikate zu beseitigen, aber die Nachrichten werden in der Umgebung mit mehreren Knoten sehr schnell verbraucht, und ich bezweifle, ob es eine Chance für Kaninchen gibt, dies zu tun. Die Verarbeitung einer Nachricht kann 1-10 Sekunden dauern, sodass sie gleichzeitig für einige Zeit verarbeitet werden, aber sofort aus meiner Warteschlange konsumiert werden. Code> Strategie, eine weitere akzeptable Lösung, die mir in den Sinn kommt Nachrichten eins durch-Eins nicht gleichzeitig . Ist dies möglich? Könnten Sie einige Beispiele / Links zur Dokumentation angeben? < / P>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post