redis哨兵模式,自动主备切换,springBoot配置连接

news/2024/11/23 1:44:15/

redis哨兵模式,自动主备切换,springBoot配置连接

步骤(4个redis实例,为例)

  1. 安装redis
  2. 把4个redis实例,配置成一主三从
  3. 启动4台redis
  4. 启动redis-sentinel(redis自带的哨兵,健康检测,自动主备切换)
  5. 修改springBoot配置

安装redis(服务器有外网)

# cd进入安装目录,现在redis包
wget http://download.redis.io/releases/redis-5.0.6.tar.gz 
# 解压
tar xzvf redis-5.0.6.tar.gz 
# cd redis-5.0.6 进入解压后的目录
cd redis-5.0.6
# make
make
# 进入src目录 安装 【PREFIX=/sms/redis】为安装目录
cd src
make install PREFIX=/sms/redis
# 将redis.conf和sentinel.conf文件 cp到 【PREFIX=/sms/redis/bin】目录
cp redis.conf /sms/redis/bin
cp sentinel.conf /sms/redis/bin
# 在 /sms/redis/bin目录下创建log目录(存放redis的日志,redis-sentinel的日志)
mkdir /sms/redis/bin/log# 修改redis的配置文件(后台启动、设置密码、允许其他机器连接、主从配置)
# 后台启动
将daemonize no 改成daemonize yes
# 找到 requirepass foobared 放开注释 修改密码
requirepass 123456
# 允许其他机器连接 注释【bind 127.0.0.1】
1. # bind 127.0.0.1
2. 把 【protected-mode yes】改为 【protected-mode no】
#指定master主服务器(四个redis实例选一个作为主),注意:有关slaveof的配置只是配置从服务器,而主服务器不需要配置
slaveof 192.168.11.128 6379
#redis密码 主从都需要配置 因为主挂了后 重启后变为从 则需要master的auth
masterauth 123456
# 配置日志目录
logfile '/sms/redis/log/redis.log'# 启动redis redis-server和redis.conf同一个文件夹 进入 /sms/redis/bin目录
./redis-server redis.conf

配置redis哨兵

redis-sentinel可以启动四个实例,也可以启动多个(可以防止redis-sentinel挂掉导致redis不可用)

redis-sentinel(健康检测和主备切换流程,默认端口26379)

  1. 启动四个redis哨兵,每个哨兵会检测每个redis实例
  2. 当检测到master实例不可用,redis哨兵会自动选举一个slave节点作为新的master
  3. springBoot项目连接redis时,只需配置redis-sentinel的信息即可,redis-sentinel会返回redis-master实例的信息,master挂掉后,返回新的mater信息
# 配置文件已复制到 '/sms/redis/bin' 目录中
vim sentinel.conf
#禁止保护模式
protected-mode no
#后台启动
daemonize yes
# 日志目录
logfile '/sms/redis/log/sentinel.log'
#配置监听的主服务器,这里 sentinel monitor 代表监控
#mymaster代表服务器名称,可以自定义
#192.168.11.128代表监控的主服务器
#6379代表端口
#2代表只有两个或者两个以上的哨兵认为主服务器不可用的时候,才会做故障切换操作
sentinel monitor mymaster 192.168.11.128 6379 2
#sentinel auth-pass 配置redis实例密码
#mymaster服务名称
#123456 Redis服务器密码
sentinel auth-pass mymaster 123456#启动 cd /sms/redis/bin
./redis-sentienl sentinel.conf

springBoot项目连接redis

spring:redis:database: 0password: 123456sentinel:master: mymaster# 四个redis-sentinelnodes: 192.168.1.100:26379,192.168.1.101:26379,192.168.1.102:26379,192.168.1.103:26379,192.168.1.104:26379

http://www.ppmy.cn/news/12131.html

相关文章

Linux第一个小程序-进度条

目录 \r&&\n 行缓冲区概念 倒计时程序 进度条代码 \r&&\n 回车概念换行概念 \n[rootVM-12-17-centos lesson8]# touch test.c [rootVM-12-17-centos lesson8]# touoch Makefile bash: touoch: command not found [rootVM-12-17-centos lesson8]# touch Mak…

【论文阅读 CIKM2014】Extending Faceted Search to the General Web

文章目录ForewordMotivationMethodQuery facet generation:Facet feedbackEvaluationForeword This paper is from CIKM 2014, so we only consider the insightsI have read this paper last month and today i share this blogThere are many papers that have not been sha…

day03 链表 | 203、移除链表元素 707、设计链表 206、反转链表

题目 203、移除链表元素 删除链表中等于给定值 val 的所有节点。 示例 1: 输入:head [1,2,6,3,4,5,6], val 6 输出:[1,2,3,4,5] 示例 2: 输入:head [], val 1 输出:[] 示例 3: 输入&am…

04 链式队列的实现

带头节点的链式队列: 初始化:rear和front指针都指向头节点入队:向rear指向的节点后插入新节点,并让rear指针移动指向新的队尾节点出队:front指针始终指向头节点,即删除头节点后一个节点;最后一个…

【精品】k8s(Kubernetes)由基础到实战学法指南

轻松快速学会k8s四招 图1 k8s四招 学完本篇,您会获得什么惊喜? 从初学k8s,到帮助别人学会的过程中,发现朋友们和我,并非不努力,而是没有掌握更好的方法。有方法可让我们学的更快更轻松,这篇文章,以一个networkpolicy的题目,来逐步讲解,帮助大家建立一种,自己可以根…

【Nginx】Nginx搭建高可用集群

1. KeepalivedNginx 高可用集群(主从模式)2. 配置高可用的准备工作3. 在两台服务器上安装keepalived4. 完成高可用配置(主从配置)5. 最终测试 1. KeepalivedNginx 高可用集群(主从模式) 2. 配置高可用的准备工作 需要两台服务器…

求约数,约数个数,约数之和,最大公约数

求约数 求一个数的所有约数&#xff0c;枚举 [1,n][1,\sqrt n][1,n​] 的所有整数&#xff0c;能整除 n 的就是约数&#xff0c;另一半约数就是 n / i. vector<int> get_divisors(int n) {vector<int> res;for (int i 1; i < n / i; i) {if (n % i 0) {res.…

python Django 运维设备管理系统

python Django 运维设备管理系统pythonDjango 电脑管理系统pythonDjango 资产管理系统python公司电脑管理系统python公司数据库管理系统后端语言&#xff1a;python Django数据库&#xff1a;MySQL 5.7 前端&#xff1a;html&#xff0c;css&#xff0c;js&#xff0c;bootstr…