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

Ignite通过隐秘非堆数据避免重平衡:特性名称、文档及配置咨询

关于Ignite非堆内存留存与免重平衡现象的解答

特性名称

该特性为Ignite备份页留存(Backup Page Retention)机制,是重平衡流程的优化特性,用于避免节点反复故障时重复触发全量重平衡,提升集群故障恢复的效率。

文档查阅位置

在Ignite官方文档的以下核心章节可找到相关说明:

  • 数据网格 > 缓存重平衡 > 高级重平衡配置:详细描述重平衡过程中备份数据的留存策略与触发逻辑
  • 内存管理 > 非堆内存管理:解释非堆内存页面的标记规则(活跃/非活跃页面),以及OffHeapEntriesCount(仅统计活跃缓存条目)与OffheapUsedSize(统计所有已分配非堆页面)的统计差异

是否支持配置

该机制支持灵活配置,核心调整参数如下:

  • CacheConfiguration.setRebalanceRetainBackupPages(boolean):控制节点恢复后是否保留已生成的备份页,默认开启此优化
  • PageMemoryConfiguration.setPageEvictionThreshold(double):设置非堆内存的驱逐阈值,当内存占用超过阈值时,自动回收非活跃的留存页面
  • 配合缓存的EvictionPolicy(如LruEvictionPolicy),可进一步管控非堆内存页面的留存时长与回收优先级

现象对应逻辑

结合你的复现步骤,该机制的运行逻辑可拆解为:

  1. 首次N1故障时,N2、N3触发重平衡接收备份数据,非堆内存分配新页面存储这些活跃备份数据,因此CacheSize、OffheapUsedSize、OffHeapEntriesCount同步上升
  2. N1恢复后,N2、N3中的原备份数据转为非活跃状态(不再作为集群的有效备份),因此CacheSize、OffHeapEntriesCount回落,但非堆页面并未立即释放(留存为预备备份),导致OffheapUsedSize维持高位
  3. 再次关闭N1时,N2、N3直接激活留存的非活跃页面,无需从其他节点拉取数据,因此TotalRebalancedBytes无变化,OffHeapEntriesCount也无需新增
  4. 重启N2、N3后,留存的非活跃页面被清空,因此再次故障时需触发全量重平衡,指标变化与首次故障一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 17:20:34