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

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.xdnf.cn/news/615619.html

相关文章:

  • 【跨端框架检测】使用adb logcat检测Android APP使用的跨端框架方法总结
  • 【通用智能体】Intelligent Internet Agent (II-Agent):面向复杂网络任务的智能体系统深度解析
  • 1.1 自动控制的一般概念
  • 【自定义类型-联合和枚举】--联合体类型,联合体大小的计算,枚举类型,枚举类型的使用
  • 电脑 IP 地址修改工具,轻松实现异地登陆
  • 如何实现 ERP 系统与淘宝订单、商品、物流接口对接
  • 大厂技术大神远程 3 年,凌晨 1 点到 6 点竟开会 77 次。同事一脸震惊,网友:身体还扛得住吗?
  • swagger-mcp-server
  • 《GDB 调试实战指南:无源码程序分析技巧与命令详解》
  • P3205 [HNOI2010] 合唱队
  • AI 驱动近红外光谱预处理:从数据清洗到特征工程的自动化
  • 2025版CansCodeAPI管理系统:免费下载,全新升级!
  • 八股--SSM(2)
  • 海外交友APP语言切换模块设计
  • 【AI大模型研究报告】2024年中国工业大模型行业发展研究报告
  • 善假于物也
  • 怎么判断一个Android APP使用了Xarmarin这个跨端框架
  • MySQL与Oracle六大方面之比较
  • [Java恶补day4] 283. 移动零
  • 第二十一章 TIM——通用定时器
  • [原理理解] 超分使用到的RAM模型和LLAVA模型
  • Rules and Monetization
  • 5.2.3 使用配置文件方式整合MyBatis
  • 谷歌移动端排名和电脑端差距大?做SEO优化要选哪个?
  • Q网络(Q-Network)简介
  • Claude 4 系列 Opus 4 与 Sonnet 4正式发布:Claude 4新特性都有哪些?
  • AI独立游戏素材生成实操
  • LVGL(lv_textarea文本框控件)
  • Spring-面试题(76)
  • PTA刷题笔记2