Um es kurz zu machen: Ich arbeite an einem Projekt, bei dem wir eine große Webanwendung aus den üblichen Gründen neu schreiben. Das Hauptziel des Neuschreibens besteht darin, diese große einzelne Anwendung, die auf einem einzelnen Server ausgeführt wird, in viele kleinere entkoppelte Anwendungen zu trennen, die auf vielen Servern ausgeführt werden können.Messaging, Warteschlangen und ESBs - ich weiß, wo ich sein möchte, aber nicht wie ich dahin komme
Ok hier ist, was würde ich gerne:
ich HTTP
möchte den Haupttransportmechanismus sein. Wenn eine Anwendung beispielsweise wurde das CMS aktualisiert wird es den Broker über http kontaktieren und sagen "I've changed"
, dann wird der Broker eine 200 OK
"thanks I got the message"
zu sagen, zurückschicken.
Der Broker wird dann auf der Liste der anderen Anwendungen nach CMS-Änderungen suchen und die Nachricht an die URL übergeben, die die Anwendung verlassen hat, als sie dem Broker mitgeteilt hat, dass sie die Nachricht hören möchte.
Die anderen Anwendungen geben 200 OK
zurück, wenn sie die Nachricht empfangen, wenn der Broker die Nachricht nicht speichert und sie in die Warteschlange stellt, wenn jemand das nächste Mal versucht, diese Anwendung zu kontaktieren.
Das Problem ist, ich weiß nicht einmal, wo ich anfangen soll oder was ich tun muss, damit es geschieht. Ich habe bei XMPP suchen, ActiveMQ, RabbitMQ, Mule ESB usw. und sehen kann ich das nächste Jahr gehen im Kreis mit diesem Zeug verbringen.
Könnte jemand irgendeinen Rat von der persönlichen Erfahrung anbieten, wie ich ziemlich vermeiden möchte, Lektionen auf die harte Art zu lernen.
Eine weitere Stimme für OpenMQ von mir verwenden. Die Erfolgsgeschichten unter http://blogs.sun.com/alexismp/entry/openmq_the_untold_story sind ziemlich beeindruckend. – mjn