2017-03-28 3 views
0

Ich habe ein Kaninchen Cluster eingerichtet und ich veröffentliche Nachrichten in einem Fanout Austausch jedes Mal, wenn sich etwas in einer Datenbank ändert.RabbitMQ - föderierte Warteschlangen Vs Exchange Federation

Ich habe dedizierte Warteschlangen an diesen Austausch für einige meiner Microservices, die diese Updates verbrauchen, und ich habe ursprünglich auch eine dedizierte Warteschlange für einen externen Client eingerichtet, so dass sie es mit ihrer eigenen Kaninchen-Infrastruktur verbinden und eine Kopie davon konsumieren können jede Nachricht.

Nun frage ich mich, ob es eine bessere Methode ist, die Exchange-Föderation zuzulassen, anstatt eine neue dedizierte Warteschlange für jeden neuen externen Verbraucher zu erstellen, da immer mehr Benutzer kommen werden.

Was sind die Vor- und Nachteile?

Dank

Antwort

1

Solange Sie Berechtigungen richtig zu verwalten, ist die endgültige Entscheidung bei Ihnen. Sie können alle Varianten zuerst ausprobieren und finden, was Ihren tatsächlichen Bedürfnissen entspricht. Die lokale Warteschlange kann Vor- und Nachteile haben: Sie ermöglicht dem Endbenutzer, einen Ausfall mit seiner Infrastruktur oder einem Netzwerkproblem auf Kosten der Festplatte/des Arbeitsspeichers zu überstehen. Sie können jedoch die Länge und/oder Größe der Warteschlange einschränken.

Ich würde vorschlagen, dass Sie sich Shovel plugin und Dynamic shovels ansehen. Mit der lokalen Warteschlange kann es einen guten Job liefern.

Vergleichen zu Föderation, Schaufel ist viel einfacher, z. Es synchronisiert den Inhalt nicht zwischen Upstream und Downstream, sondern verschiebt Nachrichten auf zuverlässige Weise einfach von einer Warteschlange in eine andere. Solange Sie nicht brauchen, was Federation bietet, könnte Schaufel eine gute Wahl sein.

Auch können Sie diese q/a nützlich finden (aber es könnte ein bisschen veraltet sein) - https://stackoverflow.com/a/19357272.

Verwandte Themen