TL; DR
¿Cuáles son los pasos para configurar un servicio HA-JNDI con una configuración HornetQ? Creo que la documentación está un poco dispersa. He leído los documentos aquí, pero no parece ilustrar en detalle.
Versión más larga:
Así que tenemos una configuración HornetQ JMS junto con JNDI. Tenemos 5 servidores que ejecutan la instancia maestra HornetQ JMS con servicio JNDI en cada uno. En cada uno de estos 5 servidores, también tenemos un esclavo ejecutándose para algún otro maestro HornetQ.
Para ilustrar:
Server A - HornetQa_master, JNDI, HornetQb_slave
Server B - HornetQb_master, JNDI, HornetQc_slave
Server C - HornetQc_master, JNDI, HornetQd_slave
Server D - HornetQd_master, JNDI, HornetQe_slave
Server E - HornetQe_master, JNDI, HornetQa_slave
Cada uno de estos servidores HornetQ sirve como middleware para nuestras diversas necesidades de back-end, lo que significa 5 servidores, 5 instancias maestras de HornetQ, 5 instancias esclavas de HornetQ y 5 servidores JNDI. Sin embargo, el problema con esta configuración es que si un servidor host (no solo el proceso, el host en sí mismo), dice A, se cae, idealmente el servicio debería recurrir al HornetQ que se ejecuta en el servidor E que aloja el esclavo HornetQ de A. Sin embargo, para continuar como maestro HornetQ, HornetQa_slave necesita hablar con el proceso JNDI que se ejecuta en el servidor A (supongo que replica los mensajes). Como el host A está inactivo, el HornetQa_slave que se ejecuta en E no tiene forma de hablar con el JNDI en A y, por lo tanto, no puede reanudarse como el proceso maestro.
Si el servicio JNDI hubiera estado altamente disponible, el proceso esclavo HornetQ podría reanudarse como maestro como se esperaba. ¿Podría alguien señalar amablemente los documentos o ilustrar en pasos simples cómo podríamos convertir nuestra configuración existente en un HA-JNDI? Por lo que vale, he leído varias fuentes , pero no parece ilustrar con mucho detalle cómo comenzar a configurar un HA-JNDI. Avíseme si necesita más información sobre nuestra configuración actual.