09 Redis_IMAGE_02REDIS集群知识点
2021-08-13 07:10:02 7 举报
oo
作者其他创作
大纲/内容
LVS
redis集成布隆
jedis
redis
监控
同步阻塞
redis2
无状态!
时点性无关
2
业务
client02
解决数据倾斜问题
有可能取到不一致的数据强调:强一致性
clientservice
逻辑:kemata一致性哈希没有取模data,node
0~2^32
sentinel
网络IO
不要因为技术而技术
client
API
从业务接收查询的是你系统根本不存在的数据
单机、单节点、单实例1,单点故障2,容量有限3,压力
client04
主从复制配置
client01
零点
面试常问:击穿,穿透,雪崩,分布式锁,API (jedis,luttce,springboot:low/high level)
击穿
数据可以分类,交集不多
关注代理成性能
redis的连接成本很高对server端造成的
1:client
proxy
这个是物理的
多线程一个线程取DB一个线程监控是否取回来。更新锁时间
redis02
数据分治聚合操作很难实现事务
环上的点是虚拟的
2-3:client
client03
算法bitmap ->redis无状态
优点:你加节点,的确可以分担其他节点的压力,不会造成全局洗牌缺点:新增节点造成一小部分数据不能命中1,问题,击穿,压到mysql2,方案:没去取离我最近的2个物理节点更倾向于 作为缓存,而不是数据库用!!!!
redis1
配置文件redis源码目录
分布式锁:redis
sharding分片
穿透
hash%10
3,只有获得锁的去访问DB
2-1:client
问题:1,如果第一个人挂了?
分区容忍性
set k1 a
RDB
强依赖击穿方案
LRULFU
布隆过滤器
hash
DB
弊端:3个模式不能做数据库用预分区
对 主 做HA高可用自动的故障转移:代替人
X
befor:肯定发生了高并发
replica-serve-stale-data yesreplica-read-only yesrepl-diskless-sync norepl-backlog-size 1mb #增量复制min-replicas-to-write 3min-replicas-max-lag 10
异步
主读写自己又是一个:单点
推导:1,统计不准确,不够势力范围问题:网络分区脑裂!2 在3个节点成功解决脑裂问题3 在4个节点成功解决脑力问题3 在5个节点成功解决脑力问题n/2+1 过半!使用奇数台!
虚拟节点
keepalived
数据没办法划分拆解
主从复制
node02
kafka可靠,集群响应速度够快
DBMySQL
最终数据会一致
逻辑:业务拆分
redis-sentienl
有一些不一样的地方的
业务层加判断零点延时。。。
offset
强一致性破坏可用性
redis01
redis单机单进程缓存数据库
并发有了:阻止并发到达DBredis又没有keyredis是单进程单实例setnx() -> 锁1,get key2,setnx3-1,ok,去 DB3-2,false,sleep -> 1
磁盘IO
2-2:client
大量的key同时失效间接造成大量的访问到达DB
无论企业后面技术多么复杂对于客户端,是透明的
3
逻辑:randomlpush
弊端:取模的数必须固定%3%4%10影响分布式下的扩展性
clientget k1
nginx
2,setnx
rdb
KEY的过期造成并发访问数据库
datakey
port 26379sentinel monitor mymaster 127.0.0.1 6381 2
算法:hash+取模modula
Z
k1 -> (4)redis3
都给出OK强一致性
可以设置锁的过期时间
redis缓存key 过期时间LRULFU
1,null
通过AKF一变多数据一致性!!!!所有节点阻塞直到数据全部一致*,同步方式阻塞方式强一致性!破坏可用性!反问自己:为什么一变多,解决可用性*,通过异步方式1,容忍数据丢失一部分
代理层:逻辑实现!modularandomkemata
规划一个环形哈希环
RDBAOF
redismaster
雪崩
redis缓存
集群方式
2-2:clientrpop
问题:不能删除布谷鸟空key
随机过期时间
pool连接池
队列
消息队列ooxx:topic&partitionkafka
node03
redisepoll
通过发布订阅发现其他哨兵
twpredixyclustercodis
弱一致性丢失数据
hashcrc16crc32fnvmd5[映射]算法
由一个技术、程序实现只要是一个程序就会有单点故障的问题一变多的集群
redis-server --sentinel
AKFX:全量,镜像Y:业务,功能Z:优先级,逻辑再拆分
你自己实现分布式协调很麻烦
redis3
人是怎么监控的
hash tag{oo}k1{oo}k2
主备
1
直接通过网络发送RDB
client包含
问题:2,没挂,但是,锁超时了。。。
node01
VIP
1,setnx2,过期时间3,多线程(守护线程)延长过期redisson zookeeper 做分布式锁!
Y
需要人工维护主的故障问题
用户client
ooxxlist
0 条评论
下一页