Redis从入门到高可用分布式实践10集群伸缩

第10章 深入Redis Cluster
本章将针对Redis Cluster的集群伸缩,请求路由,故障转移等方面进行分析说明。
10-1 集群伸缩目录
10-2 集群伸缩原理
10-3 扩展集群-1.加入节点
10-4 扩展集群-2.加入集群
10-5 扩展集群-3.迁移槽和数据
10-6 集群扩容演示-1
10-7 集群扩容演示-2
10-8 集群缩容-说明
10-9 集群缩容-操作
10-10 客户端路由-目录
10-11 moved异常说明和操作
10-12 ask重定向
10-13 smart客户端实现原理
10-14 JedisCluster执行源码分析
10-15 smart客户端JedisCluster-目录
10-16 JedisCluster基本使用
10-17 整合spring-1
10-18 整合spring-2
10-19 多节点操作命令
10-20 批量操作优化
10-21 故障转移-目录
10-22 故障发现
10-23 故障恢复
10-24 故障模拟
10-25 Redis Cluster常见开发运维问题-目录
10-26 集群完整性
10-27 带宽消耗
10-28 PubSub广播
10-29 集群倾斜-目录
10-30 数据倾斜
10-31 请求倾斜
10-32 读写分离
10-33 数据迁移
10-34 集群vs单机
10-35 本章总结

10-1 集群伸缩目录

伸缩原理
扩容集群
缩容集群

10-2 集群伸缩原理

10-3 扩展集群-1.加入节点

Redis从入门到高可用分布式实践10集群伸缩_第1张图片
Redis从入门到高可用分布式实践10集群伸缩_第2张图片

10-4 扩展集群-2.加入集群

Redis从入门到高可用分布式实践10集群伸缩_第3张图片
Redis从入门到高可用分布式实践10集群伸缩_第4张图片
Redis从入门到高可用分布式实践10集群伸缩_第5张图片

Redis从入门到高可用分布式实践10集群伸缩_第6张图片

10-5 扩展集群-3.迁移槽和数据

Redis从入门到高可用分布式实践10集群伸缩_第7张图片
Redis从入门到高可用分布式实践10集群伸缩_第8张图片
Redis从入门到高可用分布式实践10集群伸缩_第9张图片
Redis从入门到高可用分布式实践10集群伸缩_第10张图片
Redis从入门到高可用分布式实践10集群伸缩_第11张图片
Redis从入门到高可用分布式实践10集群伸缩_第12张图片
Redis从入门到高可用分布式实践10集群伸缩_第13张图片

10-6 集群扩容演示-1

Redis从入门到高可用分布式实践10集群伸缩_第14张图片
Redis从入门到高可用分布式实践10集群伸缩_第15张图片
三猪三从

加入7006 7007
Redis从入门到高可用分布式实践10集群伸缩_第16张图片
Redis从入门到高可用分布式实践10集群伸缩_第17张图片
Redis从入门到高可用分布式实践10集群伸缩_第18张图片
Redis从入门到高可用分布式实践10集群伸缩_第19张图片

Redis从入门到高可用分布式实践10集群伸缩_第20张图片
Redis从入门到高可用分布式实践10集群伸缩_第21张图片
7006没有负责的槽

10-7 集群扩容演示-2

Redis从入门到高可用分布式实践10集群伸缩_第22张图片
Redis从入门到高可用分布式实践10集群伸缩_第23张图片
Redis从入门到高可用分布式实践10集群伸缩_第24张图片
Redis从入门到高可用分布式实践10集群伸缩_第25张图片
Redis从入门到高可用分布式实践10集群伸缩_第26张图片
对应槽的分配
Redis从入门到高可用分布式实践10集群伸缩_第27张图片
Redis从入门到高可用分布式实践10集群伸缩_第28张图片
7006由三部分槽组成的

10-8 集群缩容-说明

Redis从入门到高可用分布式实践10集群伸缩_第29张图片
Redis从入门到高可用分布式实践10集群伸缩_第30张图片
Redis从入门到高可用分布式实践10集群伸缩_第31张图片

10-9 集群缩容-操作

Redis从入门到高可用分布式实践10集群伸缩_第32张图片
Redis从入门到高可用分布式实践10集群伸缩_第33张图片
Redis从入门到高可用分布式实践10集群伸缩_第34张图片
将7006 7007进行下线
把它的槽均匀的给其他节点
Redis从入门到高可用分布式实践10集群伸缩_第35张图片
在这里插入图片描述
Redis从入门到高可用分布式实践10集群伸缩_第36张图片
在这里插入图片描述
Redis从入门到高可用分布式实践10集群伸缩_第37张图片
Redis从入门到高可用分布式实践10集群伸缩_第38张图片
迁移一个槽
Redis从入门到高可用分布式实践10集群伸缩_第39张图片
Redis从入门到高可用分布式实践10集群伸缩_第40张图片
删除节点
在这里插入图片描述
Redis从入门到高可用分布式实践10集群伸缩_第41张图片
在这里插入图片描述
下线了从节点后,下线主节点
Redis从入门到高可用分布式实践10集群伸缩_第42张图片
Redis从入门到高可用分布式实践10集群伸缩_第43张图片

10-10 客户端路由-目录

Redis从入门到高可用分布式实践10集群伸缩_第44张图片

10-11 moved异常说明和操作

Redis从入门到高可用分布式实践10集群伸缩_第45张图片
Redis从入门到高可用分布式实践10集群伸缩_第46张图片
Redis从入门到高可用分布式实践10集群伸缩_第47张图片
Redis从入门到高可用分布式实践10集群伸缩_第48张图片
Redis从入门到高可用分布式实践10集群伸缩_第49张图片
Redis从入门到高可用分布式实践10集群伸缩_第50张图片
Redis从入门到高可用分布式实践10集群伸缩_第51张图片
Redis从入门到高可用分布式实践10集群伸缩_第52张图片

10-12 ask重定向

Redis从入门到高可用分布式实践10集群伸缩_第53张图片
Redis从入门到高可用分布式实践10集群伸缩_第54张图片
Redis从入门到高可用分布式实践10集群伸缩_第55张图片
Redis从入门到高可用分布式实践10集群伸缩_第56张图片

10-13 smart客户端实现原理

Redis从入门到高可用分布式实践10集群伸缩_第57张图片
Redis从入门到高可用分布式实践10集群伸缩_第58张图片
Redis从入门到高可用分布式实践10集群伸缩_第59张图片

10-14 JedisCluster执行源码分析

Redis从入门到高可用分布式实践10集群伸缩_第60张图片
Redis从入门到高可用分布式实践10集群伸缩_第61张图片
Redis从入门到高可用分布式实践10集群伸缩_第62张图片
Redis从入门到高可用分布式实践10集群伸缩_第63张图片
Redis从入门到高可用分布式实践10集群伸缩_第64张图片
Redis从入门到高可用分布式实践10集群伸缩_第65张图片
异常的处理
Redis从入门到高可用分布式实践10集群伸缩_第66张图片
Redis从入门到高可用分布式实践10集群伸缩_第67张图片

10-15 smart客户端JedisCluster-目录

Redis从入门到高可用分布式实践10集群伸缩_第68张图片

10-16 JedisCluster基本使用

Redis从入门到高可用分布式实践10集群伸缩_第69张图片
Redis从入门到高可用分布式实践10集群伸缩_第70张图片

10-17 整合spring-1

Redis从入门到高可用分布式实践10集群伸缩_第71张图片
Redis从入门到高可用分布式实践10集群伸缩_第72张图片
Redis从入门到高可用分布式实践10集群伸缩_第73张图片
Redis从入门到高可用分布式实践10集群伸缩_第74张图片
Redis从入门到高可用分布式实践10集群伸缩_第75张图片
Redis从入门到高可用分布式实践10集群伸缩_第76张图片

Redis从入门到高可用分布式实践10集群伸缩_第77张图片

10-18 整合spring-2

Redis从入门到高可用分布式实践10集群伸缩_第78张图片
Redis从入门到高可用分布式实践10集群伸缩_第79张图片
在这里插入图片描述
写对应的bean
Redis从入门到高可用分布式实践10集群伸缩_第80张图片
定义一下srveice
Redis从入门到高可用分布式实践10集群伸缩_第81张图片
Redis从入门到高可用分布式实践10集群伸缩_第82张图片
Redis从入门到高可用分布式实践10集群伸缩_第83张图片
单元测试类
Redis从入门到高可用分布式实践10集群伸缩_第84张图片
Redis从入门到高可用分布式实践10集群伸缩_第85张图片
Redis从入门到高可用分布式实践10集群伸缩_第86张图片
Redis从入门到高可用分布式实践10集群伸缩_第87张图片

10-19 多节点操作命令

scan扫描所有的键值
Redis从入门到高可用分布式实践10集群伸缩_第88张图片

10-20 批量操作优化

Redis从入门到高可用分布式实践10集群伸缩_第89张图片
Redis从入门到高可用分布式实践10集群伸缩_第90张图片
Redis从入门到高可用分布式实践10集群伸缩_第91张图片
在客户端本地做了一个内聚
Redis从入门到高可用分布式实践10集群伸缩_第92张图片
使用三个线程
Redis从入门到高可用分布式实践10集群伸缩_第93张图片
Redis从入门到高可用分布式实践10集群伸缩_第94张图片
Redis从入门到高可用分布式实践10集群伸缩_第95张图片

10-21 故障转移-目录

Redis从入门到高可用分布式实践10集群伸缩_第96张图片

10-22 故障发现

Redis从入门到高可用分布式实践10集群伸缩_第97张图片
节点之间的通信消息,ping-pong
Redis从入门到高可用分布式实践10集群伸缩_第98张图片
只有主节点才能进行读写的操作,
Redis从入门到高可用分布式实践10集群伸缩_第99张图片
Redis从入门到高可用分布式实践10集群伸缩_第100张图片

10-23 故障恢复

从节点开始做故障恢复
Redis从入门到高可用分布式实践10集群伸缩_第101张图片
Redis从入门到高可用分布式实践10集群伸缩_第102张图片
Redis从入门到高可用分布式实践10集群伸缩_第103张图片
偏移量最大的延迟时间越小,越有可能获得票数
Redis从入门到高可用分布式实践10集群伸缩_第104张图片
Redis从入门到高可用分布式实践10集群伸缩_第105张图片

10-24 故障模拟

Redis从入门到高可用分布式实践10集群伸缩_第106张图片
Redis从入门到高可用分布式实践10集群伸缩_第107张图片
Redis从入门到高可用分布式实践10集群伸缩_第108张图片
Redis从入门到高可用分布式实践10集群伸缩_第109张图片
Redis从入门到高可用分布式实践10集群伸缩_第110张图片
Redis从入门到高可用分布式实践10集群伸缩_第111张图片
Redis从入门到高可用分布式实践10集群伸缩_第112张图片
在这里插入图片描述
Redis从入门到高可用分布式实践10集群伸缩_第113张图片
恢复了

Redis从入门到高可用分布式实践10集群伸缩_第114张图片
Redis从入门到高可用分布式实践10集群伸缩_第115张图片
看一下故障恢复时间
包含了主管下线客观下线选举的时间

看节点的变化
Redis从入门到高可用分布式实践10集群伸缩_第116张图片
Redis从入门到高可用分布式实践10集群伸缩_第117张图片
然后把7000恢复
Redis从入门到高可用分布式实践10集群伸缩_第118张图片
对日志进行分析
Redis从入门到高可用分布式实践10集群伸缩_第119张图片
Redis从入门到高可用分布式实践10集群伸缩_第120张图片

7003的日志

Redis从入门到高可用分布式实践10集群伸缩_第121张图片
Redis从入门到高可用分布式实践10集群伸缩_第122张图片
主观下线
选举的准备时间,偏移量
Redis从入门到高可用分布式实践10集群伸缩_第123张图片
7002的日志
Redis从入门到高可用分布式实践10集群伸缩_第124张图片

10-25 Redis Cluster常见开发运维问题-目录

Redis从入门到高可用分布式实践10集群伸缩_第125张图片

10-26 集群完整性

Redis从入门到高可用分布式实践10集群伸缩_第126张图片
9000到9005的集群,把这个设置为yes,即所有槽都可用时才对外提供服务

在这里插入图片描述
Redis从入门到高可用分布式实践10集群伸缩_第127张图片
Redis从入门到高可用分布式实践10集群伸缩_第128张图片
Redis从入门到高可用分布式实践10集群伸缩_第129张图片
Redis从入门到高可用分布式实践10集群伸缩_第130张图片
在这里插入图片描述
Redis从入门到高可用分布式实践10集群伸缩_第131张图片
Redis从入门到高可用分布式实践10集群伸缩_第132张图片
Redis从入门到高可用分布式实践10集群伸缩_第133张图片
Redis从入门到高可用分布式实践10集群伸缩_第134张图片
Redis从入门到高可用分布式实践10集群伸缩_第135张图片
集群状态是失败状态
Redis从入门到高可用分布式实践10集群伸缩_第136张图片
Redis从入门到高可用分布式实践10集群伸缩_第137张图片
集群完整性是针对key的操作,所以ping是ping的通的

10-27 带宽消耗

Redis从入门到高可用分布式实践10集群伸缩_第138张图片
Redis从入门到高可用分布式实践10集群伸缩_第139张图片
如:90个节点部署在3台机器,带宽是很大的
如:
Redis从入门到高可用分布式实践10集群伸缩_第140张图片
Redis从入门到高可用分布式实践10集群伸缩_第141张图片
机器越多,主从节点分布更均匀

10-28 PubSub广播

Redis从入门到高可用分布式实践10集群伸缩_第142张图片
发布订阅模型的问题
节点带宽开销大
Redis从入门到高可用分布式实践10集群伸缩_第143张图片
发布一条消息后,所有的节点都能订阅到

Redis从入门到高可用分布式实践10集群伸缩_第144张图片
Redis从入门到高可用分布式实践10集群伸缩_第145张图片
Redis从入门到高可用分布式实践10集群伸缩_第146张图片
Redis从入门到高可用分布式实践10集群伸缩_第147张图片

10-29 集群倾斜-目录

Redis从入门到高可用分布式实践10集群伸缩_第148张图片
Redis从入门到高可用分布式实践10集群伸缩_第149张图片

10-30 数据倾斜

Redis从入门到高可用分布式实践10集群伸缩_第150张图片
Redis从入门到高可用分布式实践10集群伸缩_第151张图片
Redis从入门到高可用分布式实践10集群伸缩_第152张图片
比较均匀的
Redis从入门到高可用分布式实践10集群伸缩_第153张图片
这个自动均匀是有自己的一个内部的算法

Redis从入门到高可用分布式实践10集群伸缩_第154张图片
Redis从入门到高可用分布式实践10集群伸缩_第155张图片
对大的进行拆分,比如二次哈希,多个很小的key

Redis从入门到高可用分布式实践10集群伸缩_第156张图片

10-31 请求倾斜

Redis从入门到高可用分布式实践10集群伸缩_第157张图片

10-32 读写分离

Redis从入门到高可用分布式实践10集群伸缩_第158张图片
Redis从入门到高可用分布式实践10集群伸缩_第159张图片
Redis从入门到高可用分布式实践10集群伸缩_第160张图片
Redis从入门到高可用分布式实践10集群伸缩_第161张图片
不写readonly就会跳转

Redis从入门到高可用分布式实践10集群伸缩_第162张图片

10-33 数据迁移

Redis从入门到高可用分布式实践10集群伸缩_第163张图片
Redis从入门到高可用分布式实践10集群伸缩_第164张图片
Redis从入门到高可用分布式实践10集群伸缩_第165张图片
Redis从入门到高可用分布式实践10集群伸缩_第166张图片
在这里插入图片描述
Redis从入门到高可用分布式实践10集群伸缩_第167张图片
Redis从入门到高可用分布式实践10集群伸缩_第168张图片
Redis从入门到高可用分布式实践10集群伸缩_第169张图片
不是在线迁移的

10-34 集群vs单机

Redis从入门到高可用分布式实践10集群伸缩_第170张图片
redis sentinal高可用
Redis从入门到高可用分布式实践10集群伸缩_第171张图片

10-35 本章总结

Redis从入门到高可用分布式实践10集群伸缩_第172张图片
Redis从入门到高可用分布式实践10集群伸缩_第173张图片
在这里插入图片描述

你可能感兴趣的:(redis)