Redis-Cluster实战:Redis-Cluster水平扩容(ruby实现版)

Redis-Cluster实战:Redis-Cluster水平扩容(ruby实现版)

一、目的

Redis-Cluster是Redis的分布式解决方案,Redis Cluster提供了在线扩容(添加分片)功能,有效扩展存储能力和读写能力。

水平扩容思路如下:

1. 启动新的Redis实例。

2. 集群中的机器meet上述Redis实例,将其加入集群。

3. 由于新的实例没有指派槽,所以要将部分其他实例上面的槽迁移至新的实例。

二、具体实现:(已建立好的集群参考http://carlosfu.iteye.com/blog/2242578)

1. 启动新的Redis实例,端口是8007

sed 's/8000/8007/g' redis-8000.conf > redis-8007.conf

redis-server /opt/soft/redis/conf/redis-8007.conf

2. 将8007加入集群

redis-cli -c -p 8000 cluster meet 127.0.0.1 8007

上述两步,已经在之前文档里面详细介绍过了,这里就不在赘述了

3. 重新分片:(redis作者提供了redis-trib.rb工具支持在线扩容功能)

Redis-Cluster实战:Redis-Cluster水平扩容(ruby实现版)

集群状态:

Redis-Cluster实战:Redis-Cluster水平扩容(ruby实现版)

相关推荐