如果 ActiveMQ Artemis 集群在 Kubernetes 环境中 运行,备份节点运行是否需要 ON_DEMAND 负载平衡?

If ActiveMQ Artemis cluster is running in a Kubernetes environment, is the ON_DEMAND load-balancing required for a backup-node to operate?

Kubernetes 配置

注意:客户端(Publisher/Consumer)始终通过 K8s 服务连接到集群 - live-node


场景

我的理解

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

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

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

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