首页 > 编程知识 正文

女生秒懂的图三个圈圈,一图秒懂

时间:2023-05-03 08:48:04 阅读:150684 作者:2918

Redis的集群设计包括badlz和节点主从两部分,本文从三张图来理解Redis的集群设计。

主从设备:

主从的设计不太新鲜。 在数据库中,我们也曾用主进行过读写分离。 直接看看图吧。

图中显示的信息:

1、只有一个老板,可以有n个slaver,而且slaver也可以有自己的slaver,由于这种主从关系他们决定在配置阶段指定他们的上下级关系,Zookeeper这样的平行关系是自主的。

2 )读写分离,Master只负责向Slaver写入数据和同步,Slaver承担读取的作用,因此Slaver的扩展只能提高读取效率,不能提高写入效率。

3、Slaver将主服务器端获取的信息推入磁盘,然后加载到内存中。 Redis是内存数据库,因为客户端从内存中读取信息。

新的Slaver加入这个集群后,会积极地找Master看码头。 Master发现新的蜗牛后,将全部量的数据发送到新的Slaver。 数据量越大,性能消耗也越大,因此尽量避免在运行时扩展Slaver。

简单总结主从模式的设计:

优点:读写分离,增加Slaver可以提高同时阅读的能力。

缺点:主控器的写入能力是瓶颈。

虽然理论上对Slaver没有限制,但是维持Slaver的开销总是成为瓶颈。

主磁盘大小也是整个Redis群集的存储容量的瓶颈。

badlz :

这个艺名看起来像文艺,但不是新技术。 他的真名叫分表分库,在另一张图上。

图中显示的信息:

1、对象在保存到Redis之前,先经过CRC16散列保存到指定的Node。 例如,Object4最终散列到了节点1。

2 )对应于0-16384的Slot段被均匀分配给每个节点。 Slot不能重复也不能缺失。 否则,对象将被重复保存或不保存。

3、Node之间也互相监听,当Node结束或加入时,以Slot为单位进行数据的转移。 例如,如果节点1脱机,0-5640这个Slot将均匀分布在节点2和节点3上。 节点2和节点3自身维护的Slot不会自行重新分配,因此在迁移过程中不会影响5641-16384Slot段的使用。

简单总结badlz的优缺点。

缺点:各Node负责相互监听、高并发数据写入、高并发数据读取,工作负荷高

优点:可以将Redis写入操作分布在多个节点上,提高写入并发性,轻松扩展容量。

双剑合并:

看这里也可以看出,主从和哈希设计的优缺点正好互补。 使图中的所有主从对应于图2的所有节点是Redis集群的终极形式。 首先散列逻辑节点,然后各逻辑节点内部为主从。 图:

如果想扩展同时读的话就添加Slaver,如果想扩展同时写的话就添加Master,如果想扩展的话也就是添加Master。 任何Slaver或几个Master挂起都不会造成致命故障。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。