给公司做网站 优帮云,it外包前景,设计非常漂亮的网站,河南省建设科技协会网站面试的时候被人问到集群的问题#xff0c;搬砖仔哪懂这么多#xff0c;继续整理一下知识点 Redis 集群模式
Redis集群就是将多个Redis节点连接在一起#xff0c; 让Redis在不同的节点上同时提供服务。
Redis集群主要有三种模式#xff1a;
主从复制模式#xff08;mast… 面试的时候被人问到集群的问题搬砖仔哪懂这么多继续整理一下知识点 Redis 集群模式
Redis集群就是将多个Redis节点连接在一起 让Redis在不同的节点上同时提供服务。
Redis集群主要有三种模式
主从复制模式master-salve哨兵模式sentinel切片集群模式cluster
主从复制模式
这个模式是一种最基本的模式可以将主节点复制到一个或者多个节点上来实现数据的冗余和备份。
主节点主要是用来写在写的同时从节点也会从主节点中捞数据过来写写入。这个特性是不是就可以用在从节点来做读的操作然后演变成读写分离。还得思考一下怎么实现
配置与实现
配置主节点主节点不需要做什么配置默认就会监听所有客户端的请求。配置从节点设置一个和主节点不一样的端口号并且添加一个配置
# 从节点的端口号
port 63xx
# 主节点的ip和主节点的端口号配置上
replicaof 127.0.0.1 6379验证
应用场景
数据备份和数据恢复读写分离…
哨兵模式
哨兵模式是在上面的模式的基础上加入了一个节点——哨兵节点这个节点是一个特殊的节点会监控主节点和从节点的状态。当主节点挂掉了之后哨兵节点会自动选举处一个主节点并且通知其他从节点和客户端进行故障转移。
配置与实现
配置主从复制首先因为是基于主从复制的所以我们先跟上面一样配置一次主从复制配置哨兵节点创建一个配置文件并添加配置
# 配置哨兵节点的端口号
port xxxxx# 配置被监控的主节点 主节点ip 主节点端口 最小哨兵数
sentinel monitor master 127.0.0.1 6379 2# 配置判断主节点的失效时间 被监控的主节点名称 毫秒数
sentinel down-after-milliseconds master 30000# 配置主节点故障转移的时间 被监控的主节点名称 毫秒数
sentinel failover-timeout master 90000启动哨兵节点
redis redis-sentinel /sentinel.conf特点
可以自动故障转移出问题的时候可以自动转移到字节点的redis上并且有主从复制模式的特性但是配置和管理多个哨兵节点的时候会比较麻烦并且对节点的内存有要求。
应用场景
数据备份和容灾跟主从复制相同的场景有高可用需求的场景
Redis切片集群
当有很多数据都涌入单机的Redis的时候Redis就顶不住了Redis提供了一个方案叫做Redis切片集群Redis Cluster它可以将数据分布在不同的服务器上降低对单个Redis的压力将key-value对分散在多个节点上提高性能。每个节点负责部份的数据也叫做槽位。
配置
配置redis节点每个节点创建一个redis_port.conf文件
# cluster 节点端口三个节点就三个端口
port 7001port 7002 port 7003# 开启集群
cluster-enabled yes# 配置节点的超时时间
cluster-time-out 10000假设要启动三个主节点做三个主从的的集群那就是6个服务三主三从要配置的文件是真的多又简单又繁琐然后启动这三个主节点
reids redis-server redis_port.conf创建Redis Cluster
# --cluster-replicas 1 表示一个主节点只有一个从节点
redis redis-cli --cluster create 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 --cluster-replicas 1
特点
数据可以分片存储可以使用很多的节点进行大规模的数据存储。 负载均衡资源利用合理 自动故障转移这玩意跟上面哨兵也是有点类似的感觉就在套娃
配置也是真的繁琐还得一个个创建。
应用场景
性能要求高高可用场景数据量比较大的需求。
总结
主从复制备份和读写分裂最基础的场景哨兵害怕服务挂掉的场景高可用分片适合大规模数据量大 高性能场景