当前位置: 首页 > article >正文

redis主从复制架构安装与部署

redis主从复制架构安装与部署

  • 1、Redis 一主两从架构的优势
  • 2、环境准备
  • 3、下载redis
  • 4、解压缩文件
  • 5、编辑配置文件
  • 6、创建数据目录并启动Redis
  • 7、检查主从状态
  • 8、 Redis Sentinel 模式

1、Redis 一主两从架构的优势

Redis 采用一主两从(1个主节点 + 2个从节点)的复制架构具有以下显著优势:

  1. 高可用性保障
    故障自动切换:当主节点故障时,哨兵(Sentinel)可以从两个从节点中选举出新的主节点
    双重备份:两个从节点同时复制主节点数据,即使一个从节点故障,仍有另一个从节点可用
    减少单点故障:相比一主一从,多一个从节点大幅降低了数据丢失风险

  2. 读写分离提升性能
    读操作负载均衡:可以将读请求分散到两个从节点,减轻主节点压力
    查询吞吐量翻倍:相比单一从节点,能处理更多的只读请求
    适合读多写少场景:如电商商品展示、新闻网站等读密集型应用

  3. 数据安全强化
    双重数据备份:两个独立的从节点提供冗余,数据安全性更高
    灾难恢复能力:即使一个从节点完全损坏,仍有另一个完整数据副本
    防止脑裂问题:在哨兵模式下,两个从节点可以提供更可靠的故障判定

  4. 运维灵活性
    无缝维护升级:可以轮流重启从节点进行维护,不影响服务
    数据迁移方便:可以从任一从节点创建新的副本或进行数据备份
    测试验证环境:一个从节点可用于生产服务,另一个可用于数据分析或测试

  5. 适度的资源消耗
    比三主三从更节省资源:在保证一定可用性的前提下,比Redis Cluster的6节点方案节省资源
    成本效益平衡:比一主一从更可靠,比三主三从更经济

2、环境准备

3台Linux服务器(假设IP分别为10.1.9.1、10.1.9.2、10.1.9.3)
确保服务器之间网络互通
每台服务器已安装gcc等编译工具

#安装依赖
对于CentOS/RHEL:

yum install -y gcc make tcl

3、下载redis

下载地址:http://download.redis.io/releases/redis-7.2.4.tar.gz
文件下载到目录 /usr/local

4、解压缩文件

执行命令

cd /usr/local
tar -xzf redis-7.2.4.tar.gz
cd redis-7.2.4
make
make install

5、编辑配置文件

在主节点(10.1.9.1)上创建配置文件:

mkdir -p /etc/redis
vi /etc/redis/redis-master.conf

配置文件内容

bind 0.0.0.0
port 6379
daemonize yes
pidfile /var/run/redis_6379.pid
logfile "/var/log/redis_6379.log"
dir /var/lib/redis/6379
appendonly yes
masterauth '5AhgxT5B%V7MEq11'
requirepass '5AhgxT5B%V7MEq11'

在两个从节点(10.1.9.2和10.1.9.3)上创建配置文件:

mkdir -p /etc/redis
vi /etc/redis/redis-slave.conf

配置文件内容

bind 0.0.0.0
port 6379
replicaof 10.1.9.1 6379
daemonize yes
pidfile /var/run/redis_6379.pid
logfile "/var/log/redis_6379.log"
dir /var/lib/redis/6379
appendonly yes
masterauth '5AhgxT5B%V7MEq11'
requirepass '5AhgxT5B%V7MEq11'

6、创建数据目录并启动Redis

在所有节点上执行:

mkdir -p /var/lib/redis/6379

在主节点上执行:

/usr/local/bin/redis-server /etc/redis/redis-master.conf

在从节点上执行:

/usr/local/bin/redis-server /etc/redis/redis-slave.conf

7、检查主从状态

/usr/local/bin/redis-cli -h 10.1.9.1 -a 5AhgxT5B%V7MEq11 info replication

显示正常

role:master
connected_slaves:2
slave0:ip=10.1.9.3,port=6379,state=online,offset=56,lag=0
slave1:ip=10.1.9.2,port=6379,state=online,offset=56,lag=0
master_failover_state:no-failover
master_replid:0eb872e2745f73d08cb52c06e6732121289f21ed
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:56
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:56

8、 Redis Sentinel 模式

如果部署了 Redis Sentinel 来管理主从复制,主节点挂掉后会自动进行故障转移:
Sentinel 的行为:
Sentinel 是一个独立的进程,用于监控 Redis 节点状态。

当主节点挂掉,Sentinel 会:
检测主节点不可用(通过心跳检测)。

从从节点中选举一个新的主节点(基于优先级、复制偏移量等)。
将其他从节点配置为新主节点的从节点。
通知客户端主节点变更(通过 Sentinel 的客户端 SDK 或配置)。
故障转移通常在几秒到几十秒内完成。

http://www.lryc.cn/news/2387425.html

相关文章:

  • Kotlin 中 Lambda 表达式的语法结构及简化推导
  • YOLOv2 深度解析:目标检测领域的进阶之路
  • KT6368A通过蓝牙芯片获取手机时间详细说明,对应串口指令举例
  • 计算机网络实验课(二)——抓取网络数据包,并实现根据条件过滤抓取的以太网帧,分析帧结构
  • 自动生成提示技术突破:AUTOPROMPT重塑语言模型应用
  • 78. Subsets和90. Subsets II
  • VSCode 插件 GitLens 破解方法
  • linux 通过命令将 MinIO 桶的权限设置为 Custom(自定义策略)
  • 模型评价指标介绍
  • ElasticSearch整合SpringBoot
  • ArcGIS Pro 3.4 二次开发 - 知识图谱
  • 2025上半年软考高级系统架构设计师经验分享
  • uni-app学习笔记十二-vue3中创建组件
  • React 虚拟dom
  • 互联网大厂Java求职面试:AI与大模型应用集成中的架构难题与解决方案-1
  • 《算法笔记》13.2小节——专题扩展->树状数组(BIT) 问题 D: 数列-训练套题T10T3
  • 一键启动多个 Chrome 实例并自动清理的 Bash 脚本分享!
  • 4 月 62100 款 App 被谷歌下架!环比增长 28%
  • 图像分割全路线学习(结合论文)
  • Go语言之定义结构体(Struct)-《Go语言实战指南》
  • mediapipe标注视频姿态关键点(基础版加进阶版)
  • PCtoLCD2002如何制作6*8字符
  • SmartPlayer与VLC播放RTMP:深度对比分析延迟、稳定性与功能
  • Qt QPaintEvent绘图事件painter使用指南
  • 伪创新-《软件方法》全流程引领AI-第1章 04
  • win11如何重启
  • 【iOS】 锁
  • uni-app学习笔记十五-vue3页面生命周期(一)
  • Flink核心概念小结
  • 《软件工程》第 14 章 - 持续集成