适用场景

集群扩容不是"加机器":Redis 要迁槽位、Kafka 要搬分区、ES 要重分配分片,每一步都可能影响在线业务。

配置步骤(Redis Cluster 扩容)

# 1) 新节点加入集群
redis-cli --cluster add-node 10.0.10.9:6379 10.0.10.1:6379
# 2) 分配槽位(迁移)
redis-cli --cluster reshard 10.0.10.1:6379
# 3) 检查槽位与平衡
redis-cli --cluster check 10.0.10.1:6379

关键参数与建议

  • 扩容窗口:低峰 + 监控到位 + 回退方案
  • 数据迁移限速:避免占满带宽与磁盘 IO
  • 扩容后验证:容量、性能、副本状态、业务读写
  • 容量规划:预留 30% 余量,避免频繁扩容
  • 版本一致:新节点版本与集群一致,避免兼容问题

容易踩的坑

  • 迁移槽位不限速,主线程阻塞导致超时
  • 新节点未加副本,故障无法切换
  • 迁移后未检查槽位,出现数据不可访问

验证与巡检

redis-cli --cluster check 10.0.10.1:6379 | tail -5
  • 巡检:槽位分布均匀、副本齐全、无迁移残留

小结

集群扩容的验收:容量提升、性能不降、副本健康、业务无感知。扩容后一周内重点观察是否出现热点倾斜。

> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。