redis
来源:互联网 发布:100兆访客网络限速 编辑:程序博客网 时间:2024/05/21 23:21
redis cluster在设计的时候,就考虑到了去中心化,去中间件,也就是说,集群中的每个节点都是平等的关系,都是对等的,每个节点都保存各自的数据和整个集群的状态。每个节点都和其他所有节点连接,而且这些连接保持活跃,这样就保证了我们只需要连接集群中的任意一个节点,就可以获取到其他节点的数据。
那么redis 是如何合理分配这些节点和数据的呢?
Redis 集群没有并使用传统的一致性哈希来分配数据,而是采用另外一种叫做哈希槽 (hash slot)
的方式来分配的。redis cluster 默认分配了 16384 个slot,当我们set一个key 时,会用CRC16
算法来取模得到所属的slot
,然后将这个key 分到哈希槽区间的节点上,具体算法就是:CRC16(key) % 16384
。
注意的是:必须要3个以后
的主节点,否则在创建集群时会失败,我们在后续会实践到。
所以,我们假设现在有3个节点已经组成了集群,分别是:A, B, C 三个节点,它们可以是一台机器上的三个端口,也可以是三台不同的服务器。那么,采用哈希槽 (hash slot)
的方式来分配16384个slot 的话,它们三个节点分别承担的slot 区间是:
- 节点A覆盖0-5460;
- 节点B覆盖5461-10922;
- 节点C覆盖10923-16383.
参考 https://www.zybuluo.com/phper/note/195558
阅读全文
0 0
- Redis
- redis
- Redis
- redis
- Redis
- redis
- Redis
- redis
- REDIS
- Redis
- Redis
- redis
- Redis
- Redis
- Redis
- Redis
- Redis
- Redis
- Build path ->No action available/classpath .project
- 斯坦福机器学习笔记9——偏差
- CUDA
- 【过滤器】(2)过滤器的应用案例:网站安全登录技术
- 前端之盒子类重力感应拖拽效果
- redis
- CSS3选择器
- springboot(十三):springboot小技巧
- 数位dp(平衡数)
- 用python写网络爬虫-下载百思不得姐视频
- 查看SELinux状态及关闭SELinux
- 1059. C语言竞赛
- 老鹰牛顿(Newton)宝典教学 视频教学
- linux下的IPC通信机制