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





jboss (2)


所描述的体系结构对我来说似乎很难,因为实际上您需要重新配置从服务器作为主服务器,然后您将有一定的中断。

HornetQ HA通过一个实时备份对提供,并通过一个集群提供负载平衡。

如果您想要HA和负载平衡,那么您需要将2个实时备份对集群在一起。

来源: https://developer.jboss.org/thread/254232https://developer.jboss.org/thread/254232

您可以不通过主机名引用主机名,而是使用虚拟IP地址 ,以便在主设备关闭的情况下,可以将其中一个从设备重新配置为主设备,然后启动虚拟IP,以便不必重新配置其余设备的奴隶。 (即使在主设备关闭的情况下,为了保持HA,您希望有2个从设备,以便您可以重新启动其中一个设备作为主设备,并且仍然会运行一个)。

实现相同结果的另一种方法是使用专用于主服务器的DNS主机名,如果某台主机关闭,您可以重新配置其指向不同的IP。 由于DNS被缓存,因此这些条目最好位于'hosts'文件中。

如果每个HA域3个主机的硬件太多,则可以使用虚拟服务器更轻松地完成此操作,而无需购买更多硬件。

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。 如果您需要有关我们当前设置的更多信息,请告诉我。

谢谢




浮球给你约。 6-7小数点精度,而双精度给你约。 15-16。 双倍的数字范围也较大。

一个double需要8个字节的存储空间,而一个float需要4个字节。





java jboss jndi hornetq