it-swarm.com.de

Wann sollte das Advanced Message Queuing-Protokoll wie RabbitMQ verwendet werden?

Kann mir jemand erklären, in welchen Anwendungsfällen ich die Verwendung von AMQP in Betracht ziehen sollte, wie z. RabbitMQ? Was sind die Vor- und Nachteile?

45
vbd

Stellen Sie sich vor, Sie haben einen Webdienst, der viele Anfragen pro Sekunde annehmen kann. Sie haben auch ein Buchhaltungssystem, das viele Dinge erledigt. Eines davon ist die Verarbeitung der vom Webdienst kommenden Anforderungen.

Wenn Sie eine Warteschlange zwischen dem Webdienst und dem Buchhaltungssystem einfügen, können Sie:

  • haben weniger Kopplung zwischen den beiden Anwendungen, da jetzt beide Anwendungen die Konfigurationsparameter des Warteschlangenverwaltungssystems und den Namen der Warteschlange kennen müssen. Hier ist der Haken, dass Sie normalerweise eher eine Anwendung auf einen anderen Server verschieben als das Warteschlangenverwaltungssystem
  • wenn in kurzer Zeit viele Anfragen eingehen, kann das Buchhaltungssystem diese ohnehin alle bearbeiten
  • bestehen einige Anfragen, wenn ihre Anzahl wirklich riesig wird

Natürlich können komplexere Situationen auftreten, in denen die Anzahl Ihrer Anwendungen viel größer als zwei ist und Sie die Kommunikation zwischen ihnen verwalten müssen.

Zusätzlich zum Bereitstellen eines Puffers zwischen einem Webdienst und einem anderen Backend-Dienst können Nachrichtenwarteschlangen für erweiterte Szenarien verwendet werden. Rabbit MQ (und andere ausgereifte Message Queue-Produkte, die auch als MOM - Message Oriented Middleware bezeichnet werden) können so konfiguriert werden, dass Nachrichten nach unterschiedlichen Regeln weitergeleitet und verteilt werden.

Beispielsweise ermöglicht die Pub-Sub-Routing-Technik einer einzelnen Quelle, eine Nachricht zu senden und von vielen Hörern empfangen zu lassen. Dies wird üblicherweise von Aktienhandelssoftware verwendet, um die Benutzer auf dem Laufenden zu halten.

Aufgrund der Tatsache, dass die meisten MOMs SDKS für mehrere Sprachen und Plattformen haben, können sie auch zur Integration von Anwendungen verwendet werden, die auf verschiedenen Plattformen geschrieben sind.

Dies sind nur einige der Szenarien, die von MOMs aktiviert werden.

16
Michael Brown