RabbitMQ mit dem Beispiel: Mehrere Threads, Kanäle und Warteschlangen

Ich habe gerade gelesen RabbitMQ-Java-API-docsund fand es sehr informativ und geradlinig. Beispiel für das einrichten eines einfachen Channel für die Veröffentlichung/konsumieren ist sehr einfach zu Folgen und zu verstehen. Aber es ist ein sehr einfaches/einfaches Beispiel, und es blieb mir eine wichtige Frage: Wie kann ich 1+ Channels zu veröffentlichen/zu verbrauchen und aus mehreren Warteschlangen?

Sagen wir, ich habe ein RabbitMQ-server mit 3 queues: loggingsecurity_events und customer_orders. So würden wir brauchen entweder eine einzelne Channel die Möglichkeit haben, zu veröffentlichen/konsumieren, um alle 3-Warteschlangen, oder, wahrscheinlicher, haben 3 separate Channels jeder, der sich in einer einzigen Warteschlange.

Oben auf diese RabbitMQ best practices diktieren, dass wir 1 Channel pro Verbraucher-thread. Für dieses Beispiel, sagen wir mal security_events ist gut mit nur 1 Verbraucher-thread, aber logging und customer_order beide brauchen 5 threads für die Lautstärke. Also, wenn ich das richtig verstehe, heißt das, wir brauchen:

  • 1 Channel und 1 Verbraucher-thread für die Veröffentlichung/konsumieren zu und von security_events; und
  • 5 Channels - und 5-consumer-threads für die Veröffentlichung/konsumieren zu und von logging; und
  • 5 Channels - und 5-consumer-threads für die Veröffentlichung/konsumieren zu und von customer_orders?

Wenn mein Verständnis ist falsch hier, bitte beginnen Sie, indem korrigiert wird, wie mir. So oder so, könnten einige Schlacht-müde RabbitMQ-veteran mir helfen "Verbinde die Punkte" mit einem anständigen code-Beispiel für das einrichten Verlage/Verbraucher, die erfüllen meine Anforderungen hier? Vielen Dank im Voraus!

InformationsquelleAutor der Frage | 2013-08-30

Schreibe einen Kommentar