redis cluster 集群架构

本文详细介绍了Redis集群的工作原理,包括数据分片、哈希槽概念、Master-Slave复制机制及其一致性特点。同时探讨了Redis集群在故障转移时可能遇到的问题,并概述了Redis集群的操作步骤。
  1. 关于redis cluster 集群
    redis cluster集群是分布式的。
    1.1 redis 集群数据分片(redis cluster data sharding)-哈希槽的概念
    有M个哈希槽,每个master会有[0,M]个哈希槽slots。当若干个master拥有的哈希槽的集合总数为M时,该redis cluster才能全部读写工作正常态。
    1.2 master - slave
    slave是master 的replicas,salve本身不占哈希槽slots.一个master可以没有或有任意个slave,每个master拥有的salve数量是任意的。
    这里写图片描述
    当某个master 挂掉(failover)时候,slave会自动顶替它的master
    这里写图片描述
    如果某个master恰巧没有slave,挂掉之后,整个redis集群就都挂掉了这里写图片描述
    1.3 redis 集群的一致性。
    redis集群是不保证严格一致性(strong consistency)的,即总是存在某个write,返回成功,而实际没有成功的概率的。因为redis 使用的是异步复制(asynchronous)
    同步复制与异步复制
    你可以使用wait,实现同步复制(synchronous),这会减少write失败的概率,但是对性能就降低了。即使这样也不能保证严格一致性(strong consistency).因为总存在某个情况备份时候,一个slave没有收到master 的write同步,却被选举为master。(it is always possible under more complex failure scenarios that a slave that was not able to receive the write is elected as master).
    例如当正好有个write command传入给master A,A存储后回应客户端OK(还来不及slave同步),极短的时间内该master down,它的一个slave 被选举为master,但是该new master根本不知道刚刚的write command的事情。
    redis slave被选为master

2.关于Redis cluster 操作大体步骤
redis集群

参考资料:

转载于:https://my.oschina.net/u/1421266/blog/847512

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值