2012-06-19 7 views
5

"Java Message Service" Buch von O'Reilly Media, sagt:Können wir das Request/Reply-Modell im Publish/Subscribe-Messaging verwenden?

Verwendung Request/Reply-Modell in Punkt-zu-Punkt-Messaging.

Wir können Nachricht Selektoren in Pub/Sub-Messaging verwenden, so eine Anfrage schriftlich/Antwort-Modell einen einfachen Selektor auf Antwort Thema wie das Schreiben so einfach ist:

  1. Verlag eine Nachricht mit einiger einzigartigen Eigenschaft veröffentlicht (wie UUID wie correlationID)
  2. Teilnehmer für die Nachricht mit der gleichen UUID wie correlationID
  3. Verlag (auch Teilnehmer des Antwort Thema) reagiert wählt Nachrichten mit der UUID gesendet.

Ist das ein falsches Muster?

Antwort

2

Das Nachrichtenmuster Request/Reply wird normalerweise zum Aufrufen eines vom Dienstanbieter gehosteten Dienstes verwendet. Basierend auf der Serviceanfrage antwortet ein Anbieter mit einer entsprechenden Antwort. Es ist also eins zu eins. Hier kennen sich Anforderer und Responder.

Im Fall von Pub/Sub, Publisher und Abonnenten kennen sich nicht. Es könnte eine Reihe von Publisher-Veröffentlichungen zu einem Thema geben, und es könnte Tausende von Abonnenten geben, die auf dieses Thema hören. Wenn also ein Abonnent nach Erhalt der Veröffentlichung auf eine Anfrage unter Verwendung eines Themas antwortet, könnte diese Publikation an eine Anzahl von Abonnenten gehen. So etwas könnte das Netzwerk überfluten.

Meiner Meinung nach Request/Reply-Modell muss in P2P-Messaging und nicht Pub/Sub verwendet werden.