第九章-Redis Cluster

2019-04-25  本文已影响0人  yanghx

目录
一. 呼唤集群
二. 数据分布
三. 搭建集群
四. 集群伸缩
五. 客户端路由
六. 集群原理
七. 开发运维常见问题


一. 呼唤集群

二. 数据分布

image.png image.png image.png

哈希分布

  1. 节点取余分区

    • 客户端分片: 哈希+取余。
    • 节点伸缩: 数据节点关系变化,导致数据数据迁移。
    • 迁移数量和添加节点数量有关:建议翻倍扩容。
  2. 一致性哈希分区

    • 客户端分片:哈希+顺时针 (优化取余)
    • 节点伸缩: 只影响临近节点,但是还是有数据迁移
    • 翻倍伸缩: 保证最小迁移数据和负载均衡
  1. 虚拟槽分区
    • 预设虚拟槽: 每个槽映射一个数据子集,一般比节点数大
    • 良好的哈希函数:例如CRC16
    • 服务端管理节点,槽,数据: 例如Redis Cluster
image.png image.png image.png image.png

三. 搭建集群

基本架构

image.png image.png image.png image.png image.png image.png image.png image.png

Redis Cluster特性

安装

image.png image.png image.png image.png image.png image.png image.png

下载,编译,安装Ruby

image.png image.png image.png image.png

四. 集群伸缩

伸缩原理

image.png

扩容集群

准备新节点 加入集群 image.png image.png image.png image.png image.png image.png image.png image.png

缩容集群

image.png image.png image.png

五. 客户端路由


image.png image.png image.png image.png image.png image.png image.png

smart客户端


image.png

。、

六. 集群原理

七. 开发运维常见问题


集群完整性 image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png
上一篇下一篇

猜你喜欢

热点阅读