redis高可用方案:主从复制+哨兵模式,经典案例:一主二从三哨兵,及springboot集成配置

news2024/11/16 19:40:36

Redis高可用方案:主从复制+哨兵模式

经典案例:一主二从三哨兵,及springboot集成配置

第一.配置
1.主节点配置(redis.conf)
# 主节点配置 仅展示必要配置 redis.conf
# 保护模式设置为关,方便其他节点访问
protected-mode no
# redis默认端口
port 6379
# 后台启动模式
daemonize yes
# 本实例密码
requirepass 123456
# 主redis密码,不管当前是主还是从都要配置,且主从密码必须一致
masterauth 123456
# 本实例进程号文件
pidfile /var/run/redis_6379.pid
# 本实例日志文件路径
logfile /usr/local/redis/redis.log
# 本实例工作目录
dir /usr/local/redis
# slave只读模式
slave-read-only yes
2.从节点配置(redis.conf)
# 从节点配置 仅展示必要配置 redis.conf
# 保护模式设置为关,方便其他节点访问
protected-mode no
# redis默认端口
port 6379
# 后台启动模式
daemonize yes
# 本实例密码
requirepass 123456
# 配置主redis的IP和端口
slaveof 192.168.31.103 6379
# 主redis密码,不管当前是主还是从都要配置,且主从密码必须一致
masterauth 123456
# 本实例进程号文件
pidfile /var/run/redis_6379.pid
# 本实例日志文件路径
logfile /usr/local/redis/redis.log
# 本实例工作目录
dir /usr/local/redis
# slave只读模式
slave-read-only yes
3.哨兵节点配置
# 哨兵节点配置 sentinel.conf
# 保护模式设置为关,方便其他节点访问
protected-mode no  
# 哨兵默认端口号
port 26379
# 后台启动模式
daemonize yes
# 哨兵机制默认进程号
pidfile /var/run/redis-sentinel.pid
# 哨兵模式的日志文件路径
logfile /usr/local/redis/sentinel/redis-sentinel.log
# 哨兵模式的工作目录
dir /usr/local/redis/sentinel

# redis-master 自定义名称 192.168.31.103 6379 主节点ip+端口 2 salve投票看让谁接替成为主机,得票数多少后成为主机
sentinel monitor redis-master 192.168.31.103 6379 2
# 设置主节点密码
sentinel auth-pass redis-master 123456
# 被哨兵任务失效的毫秒时间段,默认为30秒,单位毫秒
sentinel down-after-milliseconds redis-master 30000
# 当从节点后变为主节点后,进行配置其他的,多少个从节点进行并行复制 1 一次接一个复制 2 一次复制2个
sentinel parallel-syncs redis-master 1
#主备的切换时间,哨兵进行故障转移如果超时,则会交给哨兵集群的另一个节点处理进行故障转移
sentinel failover-timeout redis-master 180000
第二.主机说明(本案例采用六台主机,一台主,两台从,三台哨兵)
主机IP配置
主节点192.168.31.103主节点配置(redis.conf)
从节点192.168.31.104从节点配置(redis.conf)
从节点192.168.31.105从节点配置 (redis.conf)
哨兵节点192.168.31.106哨兵节点配置(sentinel.conf)
哨兵节点192.168.31.107哨兵节点配置(sentinel.conf)
哨兵节点192.168.31.108哨兵节点配置(sentinel.conf)

在这里插入图片描述

第三.各节点状态
1.主节点 192.168.31.103

在这里插入图片描述

2.从节点 192.168.31.104/192.168.31.105

在这里插入图片描述

3.哨兵节点 192.168.31.106/192.168.31.107/192.168.31.108

在这里插入图片描述

第四.模拟主节点宕机

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
103主节点宕机,105从节点变为主节点,103节点恢复之后将变成从节点继续工作
在这里插入图片描述

第五.模拟哨兵节点宕机
哨兵节点106宕机

在这里插入图片描述

主节点105宕机

在这里插入图片描述

103成为新的主节点

在这里插入图片描述

第六.springboot配置文件
spring:
  redis:
    # 主从节点的密码,主从redis密码要求一致
    password: 123456
    sentinel:
      # redis哨兵配置sentinel.conf里指定的主名称
      master: redis-master
      # 所有哨兵的地址
      nodes: 192.168.31.106:26379,192.168.31.107:26379,192.168.31.107:26379

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/410470.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

推荐几款炫酷的 MySQL 可视化管理工具!好用到爆!!

MySQL 的管理维护工具非常多,除了系统自带的命令行管理工具之外,还有许多其他的图形化管理工具,工具好用是一方面,个人的使用习惯也很重要,这里介绍 13 款 MySQL 图形化管理工具,供大家参考。 1&#xff1a…

vite .env.test环境使用ant design vue ,打包后a-date-picker控件无法选择日期

前端开发后台管理系统,常用的UI库当属Element UI和 Ant Design Vue,但是前段时间遇到一个奇葩问题,在这里记录一下,防止小伙伴们踩坑。 后台系统,大家肯定都用过时间控件,本期我们使用的是ant design vue&…

2道关于chan的面试题

题目一: 下面关于通道描述正确的是: 1.读nil chan会触发panic 2.写nil chan会触发panic 3.读关闭的chan会触发panic 4.写关闭的chan会触发panic解答:这个提涉及到2个知识点,操作nil的chan会怎么样,操作关闭的chan会怎么样,下面我…

双目相机测距原理

双目相机测距是一种常用的计算机视觉技术,它利用两个摄像头同时拍摄同一场景,通过测量两个摄像头视野中同一物体在图像上的像素差异,从而计算出物体距离的方法。 具体原理如下: 双目相机的构成 双目相机由两个摄像头组成&#…

用ChatGPT怎么赚钱?普通人用这5个方法也能赚到生活费

ChatGPT在互联网火得一塌糊涂,因为它可以帮很多人解决问题。比如:帮编辑人员写文章,还可以替代程序员写代码,帮策划人员写文案策划等等。ChatGPT这么厉害,能否用它来赚钱呢?今天和大家分享用ChatGPT赚钱的5…

Cesium关于3Dtiles的细节分享

介绍 介绍一下Cesium中有关3dTiles的奇淫技巧,存在一些埋坑的地方,以下内容仅为自己摸索的细节和方法,仅供参考,若有更好的办法欢迎讨论 通用快速获取feature中包含的属性信息 有时候需要快速获得3dTiles中的feature中的属性信…

deb文件如何安装到iphone方法分享

Cydia或同类APT管理软件在线安装 Cydia或同类APT管理软件在线安装,这个是最佳的安装方式,因为通常无需考虑依赖关系,但缺点是对网络的要求比较高;命令行中以dpkg-iXXX.deb的形式安装,好处是可以以通配符一次性安装多个deb,而且也可以直接看到脚本的运行状况和安装成功/失…

执行命令行程序测试自动化

这几天有一个小工具需要做测试,是一个命令行工具,这个命令行工具有点类似mdbg等命令行工具,即程序运行后,在命令行等待用户敲入的命令,处理命令并显示结果,再继续等待用户敲入新的命令。 原来的测试用例都…

Vue实现自动化平台(五)--用例编辑页面

上一章:Vue实现自动化平台(四)--接口管理页面的实现_做测试的喵酱的博客-CSDN博客 github地址:https://github.com/18713341733/vuemiaotest 这个目前只是用来练手的,项目还没成型。等以后我写完了,再更…

公网远程访问局域网SQL Server数据库【无公网IP内网穿透】

目录 1.前言 2.本地安装和设置SQL Server 2.1 SQL Server下载 2.2 SQL Server本地连接测试 2.3 Cpolar内网穿透的下载和安装 2.3 Cpolar内网穿透的注册 3.本地网页发布 3.1 Cpolar云端设置 3.2 Cpolar本地设置 4.公网访问测试 5.结语 转发自CSDN远程穿透的文章&…

不用但一定要懂 ---- iOS 之 响应链、传递链 与 手势识别

iOS 事件的主要由:响应连 和 传递链 构成。一般事件先通过传递链,传递下去。响应链,如果上层不能响应,那么一层一层通过响应链找到能响应的UIResponse。 响应链:由最基础的view向系统传递,first view ->…

c/c++:原码,反码,补码和常见的数据类型取值范围,溢出

c/c:原码,反码,补码和常见的数据类型取值范围,溢出 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,此时学会c的话, 我所知道的周边的会c的同学,可手握…

前脚我的 GPT4 被封,后脚收到了文心一言的邀请账号

大家好,我是二哥呀。 一早醒来,我的 ChatGPT Plus 账号就惨遭封禁,很不幸,我刚冲的 Plus 会员,用了不到一周的时间(😭)。 我没用亚洲的IP,所以网上传的那些不使用亚洲IP…

vuex中的 mapState, mapMutations

vuex中的 mapState, mapMutations Start 今天使用vuex的过程中,遇到 mapState, mapMutations 这么两个函数,今天学习一下这两个函数。 本文介绍的vuex基于 vuex3.0 1. 官方文档说明 1.1 mapState 官方解释 点击这里&#xff1…

深入理解IP地址

我们在浏览器中直接输入IP地址就可以访问某一个神秘的网站,那么这个IP地址是如何划分的呢? IP,英文全写为Internet Protocol,指TCP/IP网络体系中的网际互联协议,工作在OSI模型的网络层(简单了解即可)。 更多内容欢迎访…

数据分析之Matplotilb数据可视化

文章目录1.Matplotilb 基础plt.show()函数plt.plot()函数基本用法例子坐标轴显示的范围传入Numpy数组传入多组数据线条属性使用plt.plot()的返回值来设置线条属性plt.setp()修改线条性质子图plt. subplot (numrows, numcols,fignum)形式3.电影数据绘图(1)绘制每个国家或地区的电…

Python的输入与输出

✅作者简介:CSDN内容合伙人、阿里云专家博主、51CTO专家博主、新星计划第三季python赛道Top1🏆 📃个人主页:hacker707的csdn博客 🔥系列专栏:零基础入门篇 💬个人格言:不断的翻越一座…

力扣-刷题记录

189. 轮转数组 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 力扣https://leetcode.cn/problems/rotate-array/description/ void rotate(int* nums, int numsSize, int k){if(k > numsSize){k % numsSize;}if(k0){f…

GlusterFS(GFS)分布式文件系统

目录 一.文件系统简介 1.文件系统的组成 2.文件系统的作用 3.文件系统的挂载使用 二.GlusterFS概述 1.GlusterFS是什么? 2.GlusterFS的特点 3.GlusterFS术语介绍 3.1 Brick(存储块) 3.2 Volume(逻辑卷) 3.3…

Qt Quick - 菜单综述

Qt Quick - 菜单综述使用总结一、概述二、菜单控件三、MenuBar 控件一、概述 菜单这一类,给我们提供了很多的便捷封住。 控件名功能Menu弹出式菜单,可以用作上下文菜单或弹出式菜单,也就是可以单独菜单上用,或者在鼠标右键&…