当前位置: 首页 > 知识库问答 >
问题:

使现有JNDI HornetQ服务成为高可用性的步骤?

巩俊远
2023-03-14

DR

使用HornetQ设置配置HA-JNDI服务的步骤是什么?我相信文件有点零散。我已经通读了这里的文件,但似乎没有详细说明。

因此,我们有一个HornetQ JMS和JNDI设置。我们有5台服务器,运行HornetQ JMS主实例,每个服务器上都有JNDI服务。在这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服务器。然而,这个设置的问题是,如果服务器主机(不仅仅是进程,也包括主机本身)发生故障,那么理想情况下,服务应该回退到服务器E上运行的HornetQ,服务器E承载了a的HornetQ从机。但是,要恢复作为HornetQ主程序,HornetQa_slave需要与服务器A上运行的JNDI进程进行对话(我推测是复制消息)。由于主机A本身处于关闭状态,运行在E上的HornetQa_slave无法与A上的JNDI对话,因此无法作为主进程恢复。

共有1个答案

微生毅
2023-03-14

对于我来说,描述的体系结构似乎很困难,因为实际上您需要将从机重新配置为主机,然后您将会出现某种中断。

HornetQ HA是通过实时备份对提供的,负载平衡是通过集群提供的。

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

您可以使用虚拟IP地址而不是主机名来引用主机,这样在主机关闭的情况下,您可以将其中一个从机重新配置为主机,并启动虚拟IP,这样您就不必重新配置其余的从机了。(为了在主服务器关闭时保持HA,您希望有2个从服务器,这样您可以将其中一个服务器作为主服务器重新启动,并且仍然有一个服务器在运行)。

另一种实现相同结果的方法是为主机指定一个DNS主机名,如果一台主机停机,您可以重新配置该主机名以指向不同的IP。由于DNS是缓存的,因此这些条目最好放在'hosts'文件中。

如果每个高可用性域3台主机的硬件太多,那么您可以使用虚拟服务器更容易地完成这一任务,而不需要购买更多的硬件。

 类似资料:
  • 我的k8s集群中已经有一些服务,并希望单独管理它们。示例: grafana具有自定义仪表板和自定义dockerfile 普罗米修斯运算符,而不是基本普罗米休斯 jaeger指向elasticsearch作为内部存储 certmanager在我自己的命名空间中(我也将其用于nginx ingress遗留路由) 可以使用现有的实例而不是创建特定于istio的实例吗?istio能和他们交流吗还是硬编码的

  • 按照前文对Eureka的讲解,我们即可构建出一个简单的注册中心。但此时的Eureka是单点的,不适合于生产环境,那幺如何实现Eureka的高可用呢? 添加主机名: 127.0.0.1 peer1 peer2 修改application.yml --- spring: profiles: peer1 # 指定profile=peer

  • Consul Cluster集群架构图如下: 这边准备了三台CentOS 7的虚拟机,主机规划如下,供参考: 主机名称 IP 作用 是否允许远程访问 node0 192.168.11.143 consul server 是 node1 192.168.11.144 consul client 否 node2 192.168.11.145 consul client 是 搭建步骤: 启动node0机

  • Even in the future, nothing works! — Spaceballs 一切迟早都会发生故障。高可用服务就是指当一个主机或网络线路失效时仍旧能够提供服务。 高可用性的主要技术就是冗余,另外,这个问题的解决就是以投放更多硬件设备而著称的。 虽然最终肯定会有单独的一台服务器失效,但是两台服务器同时失效的概率是不太高的, 这对大多数的应用程序提供了一个良好的冗余水平。 最简单的方

  • imi v1.0.13 版本新增了一个 Swoole\Coroutine\Http\Server 实现的协程服务器。需要 Swoole 4.4+ 才可使用该特性。 该特性是可选的,不影响以前使用的服务器模式。 使用协程服务器特性,依靠 Linux 系统的端口重用机制,系统级的负载均衡,可以让你的多进程 Http 服务处理请求的能力得到提升。 使用 ab,本机->虚拟机(双核+2进程)压测Hello