0
点赞
收藏
分享

微信扫一扫

三张图秒懂Redis集群设计原理

small_Sun 2022-04-21 阅读 70

2, 读写分离,Master只负责写和同步数据给Slaver,Slaver承担了被读的任务,所以Slaver的扩容只能提高读效率不能提高写效率。

3, Slaver先将Master那边获取到的信息压入磁盘,再load进内存,client端是从内存中读取信息的,所以Redis是内存数据库。

当一个新的Slaver加入到这个集群时,会主动找Master来拜码头,Master发现新的小弟后将全量数据发送给新的Slaver,数据量越大性能消耗也就越大,所以尽量避免在运行时做Slaver的扩容。

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

优点:读写分离,通过增加Slaver可以提高并发读的能力。

缺点:Master写能力是瓶颈。 Java开源项目【ali1024.coding.net/public/P7/Java/git】

虽然理论上对Slaver没有限制但是维护Slaver开销总将会变成瓶颈。

Master的Disk大小也将会成为整个Redis集群存储容量的瓶颈。

哈希Slot:

这个艺名看起来很文艺,但也不是什么新技术,他的真名就叫分表分库,再上一个图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HuGi0tCB-1650522869341)(https://note.youdao.com/yws/public/resource/52b778147a9e72eae 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》开源 191e16bbfcc1e24/xmlnote/C9E40E823332437AAAD9D8D73942604B/39409)]

图上能看到的信息:

1, 对象保存到Redis之前先经过CRC16哈希到一个指定的Node上,例如Object4最终Hash到了Node1上。

2, 每个Node被平均分配了一个Slot段,对应着0-16383,Slot不能重复也不能缺失,否则会导致对象重复存储或无法存储。

文末

我将这三次阿里面试的题目全部分专题整理出来,并附带上详细的答案解析,生成了一份PDF文档

  • 第一个要分享给大家的就是算法和数据结构

网易严选Java开发三面面经:HashMap+JVM+索引+消息队列

  • 第二个就是数据库的高频知识点与性能优化

网易严选Java开发三面面经:HashMap+JVM+索引+消息队列

  • 第三个则是并发编程(72个知识点学习)

网易严选Java开发三面面经:HashMap+JVM+索引+消息队列

  • 最后一个是各大JAVA架构专题的面试点+解析+我的一些学习的书籍资料

网易严选Java开发三面面经:HashMap+JVM+索引+消息队列

还有更多的Redis、MySQL、JVM、Kafka、微服务、Spring全家桶等学习笔记这里就不一一列举出来

-1650522869343)]

还有更多的Redis、MySQL、JVM、Kafka、微服务、Spring全家桶等学习笔记这里就不一一列举出来

举报

相关推荐

0 条评论