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

Redis主从与哨兵架构详解

目录

主从架构

主从环境搭建

主从复制流程

1. 全量复制

2. 部分复制

主从风暴

哨兵架构

概念

哨兵环境搭建


主从架构

主从环境搭建

1. 复制一份redis.conf文件, 修改下面几行配置

port 6380
pidfile /var/run/redis_6380.pid
logfile "6380.log"
dir /usr/local/redis-data/6380
# 需要注释掉bind或改成0.0.0.0
# bind 127.0.0.1# 配置主从复制
replicaof 192.168.6.128 6379   # 从本机6379的redis实例复制数据,Redis 5.0之前使用slaveof
replica-read-only yes  # 配置从节点只读

2. 启动从节点

src/redis-server redis-6380.conf

3. info命令检查主从是否搭建成功

主从复制流程

1. 全量复制

1. 从节点向主节点发起psync命令, 并建立长连接

2. 主节点收到psync时候, 执行bgsave命令, 生成最新RDB快照

3. 主节点在生成RDB快照期间, 更新数据的命令写入buffer缓存

4. 主节点生成RDB结束后, 发送给从节点, 从节点先清空所有旧数据,再加载RDB

5. 主节点把buffer发送从节点, 从节点执行buffer的写命令

6. 主节点通过socket长连接, 持续把写命令写到从节点,保证主从一致

2. 部分复制

主从风暴

如果从节点太多, 一个主节点复制到多个从节点压力太大,可能造成主从风暴.

解决: 让部分从节点去从节点复制,如下架构

哨兵架构

概念

        sentinel哨兵是特殊的redis服务,不提供读写服务,主要用来监控redis实例节点。

        哨兵架构下client端第一次从哨兵找出redis的主节点,后续就直接访问redis的主节点,不会每次都通过sentinel代理访问redis的主节点,当redis的主节点宕机时,哨兵会从剩余从节点选举新的主节点,并且将新的redis主节点通知给client端.

哨兵环境搭建

1.复制一份sentinel.conf, 修改下面几个配置,注意配置的几个目录要有写入权限

port 26379
daemonize yes
pidfile "/var/run/redis-sentinel-26379.pid"
logfile "26379.log"
dir "/tmp"
# sentinel monitor <master-redis-name> <master-redis-ip> <master-redis-port> <quorum>
# quorum是一个数字,指明当有多少个sentinel认为一个master失效时(值一般为:sentinel总数/2 + 1),master才算真正失效
sentinel monitor mymaster 192.168.6.128 6379 2   # mymaster这个名字随便取,客户端访问时会用到

2、启动sentinel哨兵实例

src/redis-sentinel sentinel-26379.conf

3. 查看sentinel的info信息,验证是否搭建哨兵成功

src/redis-cli -p 26379

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

相关文章:

  • Linux:docker的数据管理(6)
  • 深入理解Zookeeper系列-1.初识Zoookeeper
  • 芯片技术探索:了解构芯片的设计与制造之旅
  • STM32 超声波模块(HC-SR04)
  • ELK+Filebeat
  • MySql之锁表、锁行解决方案
  • 2023年第十六届山东省职业院校技能大赛中职组“网络安全”赛项竞赛正式试题
  • JAVA 整合 AWS S3(Amazon Simple Storage Service)文件上传,分片上传,删除,下载
  • 记录:Unity脚本的编写9.0
  • 共享单车停放(简单的struct结构运用)
  • 【Java8系列07】Java8日期处理
  • 为什么做CSGO搬砖的不直接去炒股呢?
  • 12月01日,每日信息差//阿里国际发布3款AI设计生态工具//美团买菜升级为“小象超市”//外国人永居证换新、6国游客免签来华
  • ChatGPT探索:提示工程详解—程序员效率提升必备技能【文末送书】
  • Pytest做性能测试?
  • Swagger各版本访问地址
  • docker-compose;私有镜像仓库harbor搭建;镜像推送到私有仓库harbor
  • OpenTSDB(CVE-202035476)漏洞复现及利用
  • Maven无法拉取依赖/构建失败操作步骤(基本都能解决)
  • 【数据库】数据库并发控制的目标,可串行化序列的分析,并发控制调度器模型
  • 带头结点的双向循环链表
  • 2023年11月下旬大模型新动向集锦
  • 有IP没有域名可以申请证书吗?
  • 【软件推荐】卸载360软件geek;护眼软件flux;
  • Module build failed: Error: ENOENT: no such file or directory
  • Postgresql BatchInsert唯一键冲突及解决
  • 腾讯云AMD服务器标准型SA5实例AMD EPYC Bergamo处理器
  • 力扣 --- 加油站
  • C++基础 -25- 动态多态
  • 数据库-MySQL之数据库必知必会17-21章