17 redis集群方案

1、RedisCluster分布式集群解决方案

为了解决单机内存,并发等瓶颈,可使用此方案解决问题.
Redis-cluster是一种服务器Sharding技术,Redis3.0以后版本正式提供支持。

这里的集群是指多主多从,不是一主多从。

2、redis集群的目标
java 复制代码
1.高性能可线性扩展至最多1000节点
2.集群中没有代理,(集群节点间)使用异步复制,没有归并操作。

可以接受的写入丢失

在发生failover之前的小段时间窗内的写操作可能在failover中丢失)。而在(网络)分区故障下,对少数派master的写入,发生写丢失的时间窗会很大。
可用性:

Redis Cluster在以下场景下集群总是可用:大部分master节点可用,并且对少部分不可用的master,每一个master至少有一个当前可用的slave。更进一步,通过使用 replicas migration 技术,当前没有slave的master会从当前拥有多个slave的master接受到一个新slave来确保可用性。

3、Redis Cluster的日常工作
java 复制代码
1.负责维护数据,和获取集群状态,包括将keys映射到正确的节点。
2.集群节点同样可以自动发现其他节点、检测不工作节点、以及在发现故障发生时晋升slave节点到master
3.所有集群节点通过由TCP和二进制协议组成的称为 Redis Cluster Bus 的方式来实现集群的节点自动发现、故障节点探测、slave升级为master等任务。
4.每个节点通过cluster bus连接所有其他节点。
5.节点间使用gossip协议进行集群信息传播,以此来实现新节点发现,发送ping包以确认对端工作正常,以及发送cluster消息用来标记特定状态。
6.cluster bus还被用来在集群中创博Pub/Sub消息,以及在接收到用户请求后编排手动failover。
4、分片模块

哈希槽(Hash Slot)

各种分区方案

相关推荐
Hello.Reader11 分钟前
Redis 延迟监控深度指南
数据库·redis·缓存
ybq1951334543112 分钟前
Redis-主从复制-分布式系统
java·数据库·redis
马里奥Marioぅ18 分钟前
Redis主从切换踩坑记:当Redisson遇上分布式锁的“死亡连接“
redis·分布式锁·redisson·故障转移
好奇的菜鸟3 小时前
如何在IntelliJ IDEA中设置数据库连接全局共享
java·数据库·intellij-idea
tan180°3 小时前
MySQL表的操作(3)
linux·数据库·c++·vscode·后端·mysql
满昕欢喜4 小时前
SQL Server从入门到项目实践(超值版)读书笔记 20
数据库·sql·sqlserver
Hello.Reader5 小时前
Redis 延迟排查与优化全攻略
数据库·redis·缓存
简佐义的博客6 小时前
破解非模式物种GO/KEGG注释难题
开发语言·数据库·后端·oracle·golang
爬山算法6 小时前
MySQL(116)如何监控负载均衡状态?
数据库·mysql·负载均衡
老纪的技术唠嗑局8 小时前
OceanBase PoC 经验总结(二)—— AP 业务
数据库