[java] 将现有的JNDI HornetQ服务作为HA的步骤?


Answers

Question

TL; DR

使用HornetQ设置配置HA-JNDI服务的步骤是什么? 我相信这些文档有点分散。 我已阅读了here的文档here但似乎没有详细说明。

更长的版本:

所以我们有一个HornetQ JMS和JNDI。 我们说5台服务器,每台服务器都运行带有JNDI服务的HornetQ JMS主实例。 在这5台服务器上,我们也有一台为其他HornetQ主站运行的从站。

为了显示:

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

这些HornetQ服务器中的每一个都可以作为我们各种后端需求的中间件,所以这意味着需要5个服务器,5个HornetQ主实例,5个HornetQ从实例和5个JNDI服务器。 然而,这种设置的问题是,如果服务器主机(不仅仅是进程,主机本身)说A出现故障,理想情况下该服务应该回退到服务器E上运行的HornetQ,该服务器托管着A的HornetQ从服务器。 但是,要恢复为HornetQ master,HornetQa_slave需要与运行在服务器A上的JNDI进程交互(我假定要复制消息)。 由于主机A本身已关闭,运行在E上的HornetQa_slave无法与A上的JNDI对话,因此无法恢复为主进程。

如果JNDI服务高度可用,奴隶HornetQ进程可以像预期的那样作为主服务器恢复。 任何人都可以通过简单的步骤指出文档或说明我们如何将现有设置转换为HA-JNDI? 对于它的价值,我已经阅读了多个here ,但似乎没有详细说明如何开始配置HA-JNDI。 如果您需要有关我们当前设置的更多信息,请告诉我。

谢谢




Related