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

ActiveMQ Artemis故障转移与集群

澹台浩广
2023-03-14

因此,如果我理解正确的话,在检测并重新启动失败代理的环境中运行Artemis代理集群将提供与运行每个活动服务器都与备份配对的集群相同的语义(以及类似的可用性)。对吗?

共有1个答案

贾兴学
2023-03-14

是的。在检测并重新启动失败代理的环境中运行ActiveMQ Artemis代理集群将提供与运行每个活动服务器与备份配对的集群相同的语义(以及类似的可用性)。

这里要注意的是,每个代理的数据(即代理的data目录中的所有内容)都需要是“有状态的”,以便在代理死亡的情况下,用相同的数据重新启动它。正如文章所提到的:

例如,在节点故障的情况下,Kubernetes将在不同的节点上启动代理pod,并使相同的PV和数据可用。

 类似资料:
  • 我正在尝试用6台机器实现一个Redis集群。我有一个由六台机器组成的流浪集群: 运行redis服务器 我编辑了上述所有服务器的/etc/redis/redis.conf文件,添加了这个 然后我在六台机器中的一台上运行了这个程序; Redis集群已启动并运行。我通过在一台机器上设置值手动检查它显示在其他机器上。 我的问题是,当我关闭或停止任何一台主机上的redis server时,整个集群都会停止运

  • 我们有一个mongodb副本集,其中包含两个实例(127.0.0.1:27017-主要,127.0.0.1:27018-次要)和一个仲裁器(127.0.0.1:27019)。当我使用rs.steppdown(60)从主实例中退出时,它应该成为辅助实例,辅助实例应该成为主实例,所有写操作都应该在辅助实例中发生(退出后的主实例)。但在卸任后,我遇到了一个异常“无法将数据写入传输连接:远程主机强制关闭了

  • 我注意到,当连接的Artemis节点宕机时,连接到节点2-4的客户机不会故障转移到其他3个可用的主节点,基本上不会发现其他节点。即使在原始节点恢复之后,客户端仍然无法建立连接。我从一个单独的堆栈溢出帖子中看到,不支持主到主故障转移。这是否意味着对于每个主节点,我也需要创建一个从节点来处理故障转移?这是否会导致两个实例点失败,而不是集群中有许多节点? 在一个单独的基本测试中,使用一个主从两个节点的集

  • 目前,我正在使用ActiveMQ,并计划将系统迁移到ActiveMQ Artemis。目前,我有3个生产者和3个消费者,只有一个ActiveMQ服务器/代理。

  • 故障自动转移是指在 TiDB 集群的某些节点出现故障时,TiDB Operator 会自动添加一个节点,保证 TiDB 集群的高可用,类似于 K8s 的 Deployment 行为。 由于 TiDB Operator 基于 StatefulSet 来管理 Pod,但 StatefulSet 在某些 Pod 发生故障时不会自动创建新节点来替换旧节点,所以,TiDB Operator 扩展了 Stat

  • 我们使用MQ作为传递消息的主要路径。这是我们的制度运作不可或缺的一部分。消息代理有时会失败,所有相关的队列也会随之失败。在camel中,有没有一种方法可以启动故障切换,并在其启动时恢复到主故障切换?