首页 > 解决方案 > 如果 ActiveMQ Artemis 集群在 Kubernetes 环境中运行,备份节点是否需要 ON_DEMAND 负载平衡才能运行?

问题描述

Kubernetes 配置

注意:客户端(发布者/消费者)总是通过 K8s 服务连接到集群 -live-node


设想

我的理解

如果我错了,请详细说明这种行为并纠正我。

标签: kuberneteshigh-availabilityactivemq-artemis

解决方案


严格来说message-load-balancing,您配置的类型cluster-connection与备份的工作方式完全无关。message-load-balancing顾名思义,该类型与消息在集群中的负载平衡方式有关。备份的行为方式由ha-policy您配置的决定。

备份的全部意义在于,当活动节点发生故障时,连接到活动节点的所有客户端都将故障转移到备份节点。此外,备份节点将拥有与活动节点相同的所有消息(通过复制或共享存储)。因此,您期望所有连接的客户端在失败时live-node1都会连接是错误的。live-node2live-node1

也就是说,如果客户端确实连接到live-node2而不是,backup-node1那么如果您希望消息最终从to重新分配,则message-load-balancing类型需要是。显然,也需要大于 0。ON_DEMANDbackup-node1live-node2redistribution-delay


推荐阅读