TL;DR:
如何配置具有HornetQ设置的HA-JNDI服务的步骤?我认为文档有点分散。我已经阅读了此处的文档,但似乎没有详细说明。
更长的版本:
因此,我们拥有一个HornetQ JMS设置以及JNDI。我们有5个服务器,每个服务器运行HornetQ JMS主实例,并在每个实例上运行JNDI服务。在这5个服务器中,我们还有一个次要实例运行其他一些HornetQ主实例。
举个例子:
Server A - HornetQa_primary, JNDI, HornetQb_secondary
Server B - HornetQb_primary, JNDI, HornetQc_secondary
Server C - HornetQc_primary, JNDI, HornetQd_secondary
Server D - HornetQd_primary, JNDI, HornetQe_secondary
Server E - HornetQe_primary, JNDI, HornetQa_secondary
每个HornetQ服务器都作为我们各种后端需求的中间件,这意味着有5个服务器、5个HornetQ主实例、5个HornetQ次要实例和5个JNDI服务器。然而,这种设置的问题在于,如果一个服务器主机(不仅是进程,而是主机本身)例如A宕机,理想情况下服务应该回退到运行在服务器E上托管A的HornetQ次要实例的HornetQ。然而,为了恢复为HornetQ主实例,HornetQa_secondary需要与运行在服务器A上的JNDI进程通信(我认为是为了复制消息)。由于主机A本身已经宕机,运行在E上的HornetQa_secondary无法与A上的JNDI通信,因此无法恢复为主进程。
如果JNDI服务高度可用,副本HornetQ进程可以按预期恢复为主进程。是否有人能指出文档或简单步骤来说明我们如何将现有设置转换为HA-JNDI?就此而言,我已经阅读了多个来源,但它似乎没有详细说明如何开始配置HA-JNDI。如果您需要有关我们当前设置的更多信息,请告诉我。