En mi opinión, usaría persistencia JDBC si quisiera tener un intermediario de conmutación por error y no podría usar el sistema de archivos. La persistencia de JDBC fue significativamente más lenta (durante nuestras pruebas) que el registro en el sistema de archivos. Para un solo intermediario, el sistema de archivos de diario es el mejor.
Si ejecuta dos intermediarios en una conmutación por error activa/pasiva, los dos intermediarios deben tener acceso al mismo almacén de datos/diario para que el intermediario pasivo pueda detectar y asumir el control si falla el principal. Si está utilizando el sistema de archivos de diario, entonces los archivos deben estar en una unidad de red compartida de algún tipo, utilizando NFS, WinShare, iSCSI, etc. Esto generalmente requiere un dispositivo NAS de gama superior si desea eliminar el uso compartido de archivos como un único punto de falla.
La otra opción es que puede apuntar a ambos intermediarios a la base de datos, a la que la mayoría de las aplicaciones ya tienen acceso. La compensación suele ser la simplicidad al precio del rendimiento, ya que la persistencia de JDBC por diario fue más lenta en nuestras pruebas.
Ejecutamos ActiveMQ en un par de intermediarios activo/pasivo con persistencia de diario a través de un montaje NFS en un dispositivo NAS dedicado, y funciona muy bien para nosotros. Podemos procesar más de 600 mensajes por segundo a través de nuestro sistema sin problemas.
Yeap, esa fue exactamente mi experiencia. En nuestras pruebas, la persistencia de JDBC fue mucho más lenta que la opción de creación de journalling. Gracias –