Redis Cluster预览

当前稳定版Redis仅支持master-slave复制模式, 即一个master写多个slave读。RedisCluster作为新版本重点开发功能, 将实现自动sharding及多节点容错等功能。Redis作者Salvatore于10月在RedisLondonMeetup会议上介绍了RedisCluster。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

当前稳定版本的redis(2.0.4)只支持简单的master-slave replication:一个master写,多个slave读。只能通过客户端一致性哈希自己做sharding。

 

Redis Cluster是下个版本开发的重点,会有集群的自动sharding,多节点容错等等。

 

10月份,Redis的作者Salvatore antirez Sanfilippo在伦敦的Redis London Meetup会上做了演讲,介绍了Redis Cluster。

 

 

Youtube已经上传了视频:http://www.youtube.com/watch?v=ElwrCugm4Sw

不过Salvatore 是意大利人,英语不太标准,很难听懂,还好这里可以下载到幻灯片:http://redis.io/presentation/Redis_Cluster.pdf

 

 

### 使用 `redis-trib` 进行 Redis 集群管理 #### 创建集群 为了创建一个新的 Redis 集群,可以利用 `create` 命令来完成这一过程。此命令会引导用户输入一系列参数,比如各个节点地址等信息,从而构建起一个完整的集群结构[^2]。 ```bash ./redis-trib.rb create --replicas <num-replicas> <host1>:<port1> <host2>:<port2> ... ``` 这里 `<num-replicas>` 表示每个主服务器应该拥有多少个副本;而后面跟着的是各成员的具体位置描述,即 IP 地址加端口号的形式。 #### 添加/移除节点 对于已经存在的集群来说,有时可能需要动态调整其规模大小——增加新的机器加入进来或是把某些不再使用的设备从中剔除出去。这时就可以分别调用 add-node 或 del-node 来实现相应功能了[^3]。 ##### 添加新节点作为主节点: ```bash ./redis-trib.rb add-node <new_host>:<new_port> <existing_node> ``` ##### 将现有节点转换成从属角色并指定跟随哪个master: ```bash ./redis-trib.rb add-node --slave --master-id <master_id> <new_slave_host>:<new_slave_port> <cluster_node> ``` #### 平衡键分布 (Resharding) 随着业务发展变化,可能会遇到不同分区之间负载不均的情况发生。此时可以通过 reshard 子指令来进行重新分配工作,使得整个系统的性能达到最优状态。 ```bash ./redis-trib.rb reshard <target_cluster_node> ``` 该命令允许设定迁移的目标数量以及源主机列表等内容,在实际执行之前还会给出预览让用户确认无误后再继续下去。 #### 检查集群健康状况 定期检查集群的状态是非常重要的维护措施之一。借助 check 功能能够获取关于当前配置的有效性和潜在问题等方面的信息反馈。 ```bash ./redis-trib.rb check <any_node_in_the_cluster> ``` 这条语句将会遍历所有参与构成整体架构的服务单元,并返回它们之间的连接关系图表连同任何发现异常之处一起呈现给管理员查看。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值