Kann mir jemand erklären, in welchen Anwendungsfällen ich AMQP verwenden sollte, wie zB RabbitMQ? Was sind die Vor- und Nachteile?
Kann mir jemand erklären, in welchen Anwendungsfällen ich AMQP verwenden sollte, wie zB RabbitMQ? Was sind die Vor- und Nachteile?
Antworten:
Stellen Sie sich vor, Sie haben einen Webdienst, der viele Anfragen pro Sekunde annehmen kann. Sie haben auch ein Buchhaltungssystem, das eine Menge Dinge erledigt. Eines davon ist die Verarbeitung der Anforderungen, die vom Webservice kommen.
Wenn Sie eine Warteschlange zwischen dem Webservice und dem Buchhaltungssystem einrichten, können Sie:
Natürlich könnten Sie komplexere Situationen haben, in denen die Anzahl Ihrer Anwendungen viel größer als zwei ist und Sie die Kommunikation zwischen ihnen verwalten müssen.
Neben der Bereitstellung eines Puffers zwischen einem Webdienst und einem anderen Back-End-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, dass eine einzelne Quelle eine Nachricht sendet und dass viele Listener sie empfangen. Dies wird üblicherweise von Aktienhandelssoftware verwendet, um die Benutzer auf dem Laufenden zu halten.
Auch aufgrund der Tatsache, dass die meisten MOMs SDKs für mehrere Sprachen und Plattformen haben, können sie verwendet werden, um Anwendungen zu integrieren, die auf verschiedenen Plattformen geschrieben wurden.
Dies sind nur einige der von MOMs aktivierten Szenarien.