大家好,我是程序媛雪儿,今天我们继续聊redis分片集群。
一、适用场景
redis分片集群是为了解决海量数据存储问题、高并发写的问题而设计的。
二、是什么
1、集群里有多个master,每个master保存不同的数据
2、每个master都可以有多个slave节点
3、master之间互相ping来检测彼此的健康状态
4、客户端可以访问集群任何节点,把客户端的请求转发到正确的节点
三、怎么实现的每个master均匀保存数据?
redis分片集群使用了哈希槽的概念,redis集群有16384个哈希槽,每个key通过CRC16校验后对16384取模来决定放置到哪个槽,集群的每个节点负责一部分hash槽。
为什么是16384个哈希槽呢?
因为这个数量不会太大,导致管理过于复杂,也不会太小,以至于无法实现有效的数据分布,可以使得数据相对均匀的分布在多个节点上,这是一个在不断实践中总结出来的合理值。
四、知识综合回顾
redis主从复制,是指一个主节点有多个相同的从节点,可以解决高并发读的问题。
redis哨兵模式,是指redis的哨兵会持续关注主从节点的健康状态,主节点宕机,哨兵会根据一定的规则选取某个从节点作为主节点继续工作,为了保障系统高可用需求。
redis分片集群则是一个集群里有多个主节点,每个主节点都有自己的从节点,主节点间通过ping命令检测彼此的监控状态,redis分片集群主要是为了解决海量数据存储问题、高并发写的问题
欢迎大家关注我的微信公众号,程序媛雪儿,雪儿会定期在上面发布编程的知识碎片,也有雪儿博客地址,上面有详细系统的笔记,雪儿是全栈,但是公众号目前主要还是发后端的技术,以后可能也会涉及到一些前端的知识,我们下期见,拜拜~