Meiner Meinung nach würden Sie JDBC-Persistenz verwenden, wenn Sie einen Failover-Broker haben wollten und Sie das Dateisystem nicht verwenden konnten. Die JDBC-Persistenz war signifikant langsamer (während unserer Tests) als das Journaling für das Dateisystem. Für einen einzelnen Broker ist das aufgezeichnete Dateisystem am besten.
Wenn Sie zwei Broker in einem aktiven/passiven Failover ausführen, müssen die beiden Broker Zugriff auf denselben Journal/Datenspeicher haben, damit der passive Broker erkennen und übernehmen kann, wenn der primäre Fehler auftritt. Wenn Sie das Journaled File System verwenden, müssen sich die Dateien auf einem freigegebenen Netzwerklaufwerk befinden, unter Verwendung von NFS, WinShare, iSCSI usw. Dies erfordert normalerweise ein High-End-NAS-Gerät, wenn Sie die Dateifreigabe als entfernen möchten ein einzelner Fehlerpunkt.
Die andere Option ist, dass Sie beide Broker auf die Datenbank verweisen können, auf die die meisten Anwendungen bereits Zugriff haben. Der Kompromiss ist in der Regel die Einfachheit zum Preis der Leistung, da die JDBC-Fortdauer in unseren Tests langsamer war.
Wir betreiben ActiveMQ in einem aktiven/passiven Broker-Paar mit Journaled Persistence über eine NFS-Mount auf einem dedizierten NAS-Gerät, und es funktioniert sehr gut für uns. Wir sind in der Lage, über 600 msg/s ohne Probleme durch unser System zu verarbeiten.
Yeap, das war genau meine Erfahrung. In unseren Tests war die JDBC-Persistenz viel langsamer als die Journaling-Option. Danke –