当前位置:网站首页>redis集群模式--解决redis单点故障
redis集群模式--解决redis单点故障
2022-08-11 05:12:00 【匿名热心市民】
redis单机版,出现单机故障后,导致redis无法使用,如果程序使用redis,间接导致程序出错。
redis的集群模式:
1.主从复制模式
2.哨兵模式
3.集群化模式
主从复制模式
一主多从模式。一个主节点,多个从节点,那么主节点可以负责:读操作,写操作。从节点只能负责读操作,不能负责写操作。这样就可以把读的压力从主节点分摊到从节点,以减少主节点的压力。
当主节点执行完写命令,会把数据同步到从节点。
在 Redis 主从复制模式中,因为系统不具备自动恢复的功能,所以当主服务器(master)宕机后,需要手动把一台从服务器(slave)切换为主服务器。在这个过程中,不仅需要人为干预,而且还会造成一段时间内服务器处于不可用状态,同时数据安全性也得不到保障,因此主从模式的可用性较低,不适用于线上生产环境。
如何搭建主从关系
原则:配从不配主。
(电脑比较渣)我们使用一天虚拟机模拟三台,节省电脑资源。
先创建一个文件夹,将redis启动文件放进去三个;
修改配置文件:
修改三个
进入redis:
查看主从关系:
命令:
info replication
配置子节点:
命令:
slaveof 主节点ip地址 主节点端口号
再次查看主从关系:
数据同步
模拟主节点宕机
手动切换主节点:很麻烦
哨兵模式
由于主从模式,主节点单机后,从节点不会自动上位。增加一个哨兵服务,该哨兵时刻监控master,如果master挂了,哨兵会在从节点中选举一位为主节点【哨兵投票机制】。
配置哨兵模式:
开启新一台虚拟机作为哨兵,哨兵模式启动后不能退出,退出则失效。
配置文件解析:
关于哨兵认可数:
启动哨兵:
redis-sentinel sentinel.conf
等待几十秒:
集群化模式
redis 集群中内置了16384个哈希槽,当需要在Redis,集群中放置一个key-value时,redis. 先对key使用crc16算法算出一个整数结果,然后把结果对16384求余数,这样每个key都会对应一个编号在0-16383之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点。
当你往Redis Cluster中加入一个Key时,会根据crc16(key) mod 16384计算这个key应该分布到哪个hash slot中,一个hash slot中会有很多key和value。你可以理解成表的分区,使用单节点时的redis时只有一个表,所有的key都放在这个表里;改用Redis Cluster以后会自动为你生成16384个分区表,你insert数据时会根据上面的简单算法来决定你的key应该存在哪个分区,每个分区里有很多key。
搭建集群:
搭建三个节点
主节点的数量为奇数个,因为当主节点宕机超过一半集群就死亡,所以建成奇数个。偶数个会产生刚好一半的情况。
设置配置文件
redis.conf
启动
分槽值
redis-cli --cluster create --cluster-replicas 1 192.168.92.241:6001 192.168.92.241:6002 192.168.92.241:6003 192.168.92.241:6004 192.168.92.241:6005 192.168.92.241:6006
成功
测试:
redis-cli -c -h 192.168.92.241 -p 6001
-c表示集群模式启动,不加表示单机启动
可以发现,每次存完值和获取值后就会跳转到对应的节点,所以启动集群时,没有一定要启动那台的规定,任意启动。
redis连接idea
redis支持的语言
java连接redis的第三方依赖,常用前三个
使用jedis
创建maven工程
引入依赖
边栏推荐
- Switch and Router Technology - 28 - NSSA Areas for OSPF
- 群晖DS220+ 应用小笔记
- 元宇宙社交应用,靠什么吸引用户「为爱发电」?
- 关于CC 攻击
- 3 模块二:科研工具使用
- [QNX Hypervisor 2.2 User Manual] 10.16 vdev virtio-blk
- Golden Warehouse Database KingbaseGIS User Manual (6.8. Geometry Object Input Function)
- How to switch Green Shield encryption to IP-Guard encryption smoothly
- 让你代码越来越高大上的技巧——代码规范,你得知道
- Switch and Router Technology-29-OSPF Virtual Link
猜你喜欢
Idea essential skills to improve work efficiency
MySQL must know and must know (primary articles)
普林斯顿微积分读本05第四章--求解多项式的极限问题
ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory: '/data/xxxx
宝塔Linux环境下redis开启多端口
zabbix构建企业级监控告警平台
用白嫖的Adobe正版软件,减少应届毕业生的慢就业、不就业等现象
Application layer protocol - DNS
C语言:实用调试技巧
交换机和路由器技术-22/23-OSPF动态路由协议/链路状态同步过程
随机推荐
K8s复习笔记7--Redis单机和Redis-cluster的K8S实现
Golden Warehouse Database KingbaseGIS User Manual (6.8. Geometry Object Input Function)
C语言:实用调试技巧
Switch and Router Technology-35-NAT to PAT
2021年网络规划设计师下午案例题
Weekly recommended short video: your commonly used Polaroid, its predecessor turned out to be like this!
关于CC 攻击
[QNX Hypervisor 2.2 User Manual] 10.16 vdev virtio-blk
Mysql入门练习
【无标题】2022年胺基化工艺考试题模拟考试题库及在线模拟考试
3 Module 2: Use of scientific research tools
You must understand - the nine built-in objects and four domain objects of JSP
应用层协议——DNS
C语言题解:谁是凶手!
Unity WebGL RuntimeError: integer overflow(整数溢出问题)
Switch and Router Technology-33-Static NAT
About CC Attacks
让你代码越来越高大上的技巧——代码规范,你得知道
Project Practice Lecture 27: Application of Status Mode in Duplicate Brands
[Embedded open source library] The use of MultiButton, an easy-to-use event-driven button driver module