You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Akka集群滚动重启时Remembered entities无法正常重建问题排查

Akka集群滚动重启时Remembered Entities重建异常问题

问题描述

在3节点Actor集群中执行3节点滚动重启时,Remembered entities无法正常重建:Shards已完成完全重平衡,但部分实体未被重建。

集群配置

akka.cluster.sharding.remember-entities = on
akka.cluster.sharding.remember-entities-store = ddata
akka.cluster.sharding.distributed-data.durable.keys = []

akka.remote.artery{
        enabled = on
        transport = tcp
}

集群状态变迁过程

初始状态:3个节点各有100个Shards,对应1000个Actor,总计300个Shards、3000个Actor:

  • Node 1 -- 100 Shards \ 1000 Actors
  • Node 2 -- 100 Shards \ 1000 Actors
  • Node 3 -- 100 Shards \ 1000 Actors
  1. Node 1下线后,Shards重平衡至Node 2和Node 3,所有remembered entities均正常重建:
  • Node 1 -- Down
  • Node 2 -- 150 Shards \ 1500 Actors
  • Node 3 -- 150 Shards \ 1500 Actors
  1. Node 1上线后不久,Node 2下线,Shards和remembered entities正常重建至Node 1和Node 3:
  • Node 1 -- 150 Shards \ 1500 Actors
  • Node 2 -- Down
  • Node 3 -- 150 Shards \ 1500 Actors
  1. Node 2上线后不久,Node 3下线,Shards重平衡至Node 1和Node 2,但部分来自Node 3的remembered entities未在Node 2上重建:
  • Node 1 -- 150 Shards \ 1500 Actors
  • Node 2 -- 150 Shards \ 1423 Actors
  • Node 3 -- Down

核心问题

Node 2加入集群后立即重启Node 3时,remembered entities的重建存在不一致性,期间集群仍有消息发送至Actor。

疑问:Node 2刚加入就重启Node 3时,瓶颈可能是什么?

已尝试操作

  • 不重启Node 3时,实体无异常
  • 单独延迟重启Node 3时,无异常
  • 调整Shard数量,问题仍存在
  • 将akka.cluster.distributed-data.majority-min-cap从默认5改为3,问题仍存在

待解决问题

  1. 是否需要调优相关配置?
  2. 需从哪些方向进一步调试以定位根因?

内容的提问来源于stack exchange,提问作者Arun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 16:52:45