大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
创始人
2024-12-16 22:36:09
0

点一下关注吧!!!非常感谢!!持续更新!!!

目前已经更新到了:

  • Hadoop(已更完)
  • HDFS(已更完)
  • MapReduce(已更完)
  • Hive(已更完)
  • Flume(已更完)
  • Sqoop(已更完)
  • Zookeeper(已更完)
  • HBase(已更完)
  • Redis (正在更新…)

章节内容

上节我们完成了:

  • Redis分布式锁
  • Redis SETNX
  • Redis Redisson
  • 分布式锁对比
  • Java的部分实现

在这里插入图片描述

高可用介绍

高可用(High Availability)通常用来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。
CAP中的AP模型。

主从复制

Redis支持主从复制功能,可以通过 slaveof(Redis5以后修改为replicaof)或者在配置文件中设置来开启该功能。

一主一从

在这里插入图片描述

一主多从

在这里插入图片描述

传递复制

在这里插入图片描述

主从配置

主Redis

无需特殊的配置

从Redis

我们需要修改 redis.conf 文件,来实现。
比如我的主Redis是h121机器,当前我当前在h122上,计划变为h121的从服务器,那你需要如下的配置:

replicaof h121.wzk.icu 6379 

主从作用

  • 读写分离:一主多从,主从同步,主写从读。
  • 数据容灾:从是主的备份。

同步模式

全量同步

  • 同步快照阶段:Master创建并发送RDB给Slave,Slave载入并解析快照,Master同时将此阶段所产生的新的写命令存储到缓冲区。
  • 同步写缓冲阶段:Master向Slave同步存储在缓冲区的写操作命令
  • 同步增量阶段:Master向Slave同步写操作命令。

在这里插入图片描述

增量同步

  • Redis增量同步主要是Slave完成初始化正常工作后,Master的写操作同步到Slave
  • 通常情况下, Master每次执行一个写命令就会向Slave发送相同的写命令,然后Slave执行。

心跳监测

在命令阶段,从服务器默认会以每秒一次的频率向主服务器发送命令:

replconf ack  

主要有如下的作用:

  • 检测主从的连接状态
  • 辅助实现min-slaves
  • 检测命令丢失

哨兵模式

哨兵介绍

哨兵(Sentinel)是Redis高可用的解决方案,由一个或者多个sentinel集群监视一个或者多个服务器。
当主服务器下线时,sentinel可以将某一从服务器升级为主服务。

部署方案

在这里插入图片描述

配置过程

由于需要启动很多,所以直接使用容器的方式部署。

version: '3'  services:   redis-master:     image: redis:6.2     container_name: redis-master     command: redis-server --appendonly yes     ports:       - 6379:6379     volumes:       - ./data/redis-master:/data    redis-slave1:     image: redis:6.2     container_name: redis-slave1     command: redis-server --slaveof redis-master 6379     ports:       - 6380:6379     volumes:       - ./data/redis-slave1:/data     depends_on:       - redis-master    redis-slave2:     image: redis:6.2     container_name: redis-slave2     command: redis-server --slaveof redis-master 6379     ports:       - 6381:6379     volumes:       - ./data/redis-slave2:/data     depends_on:       - redis-master    sentinel1:     image: redis:6.2     container_name: sentinel1     command: >       sh -c "echo 'port 26379' > /data/sentinel.conf &&              echo 'sentinel monitor mymaster redis-master 6379 2' >> /data/sentinel.conf &&              echo 'sentinel down-after-milliseconds mymaster 5000' >> /data/sentinel.conf &&              echo 'sentinel failover-timeout mymaster 10000' >> /data/sentinel.conf &&              echo 'sentinel parallel-syncs mymaster 1' >> /data/sentinel.conf &&              redis-sentinel /data/sentinel.conf"     ports:       - 26379:26379     depends_on:       - redis-master       - redis-slave1       - redis-slave2    sentinel2:     image: redis:6.2     container_name: sentinel2     command: >       sh -c "echo 'port 26380' > /data/sentinel.conf &&              echo 'sentinel monitor mymaster redis-master 6379 2' >> /data/sentinel.conf &&              echo 'sentinel down-after-milliseconds mymaster 5000' >> /data/sentinel.conf &&              echo 'sentinel failover-timeout mymaster 10000' >> /data/sentinel.conf &&              echo 'sentinel parallel-syncs mymaster 1' >> /data/sentinel.conf &&              redis-sentinel /data/sentinel.conf"     ports:       - 26380:26380     depends_on:       - redis-master       - redis-slave1       - redis-slave2    sentinel3:     image: redis:6.2     container_name: sentinel3     command: >       sh -c "echo 'port 26381' > /data/sentinel.conf &&              echo 'sentinel monitor mymaster redis-master 6379 2' >> /data/sentinel.conf &&              echo 'sentinel down-after-milliseconds mymaster 5000' >> /data/sentinel.conf &&              echo 'sentinel failover-timeout mymaster 10000' >> /data/sentinel.conf &&              echo 'sentinel parallel-syncs mymaster 1' >> /data/sentinel.conf &&              redis-sentinel /data/sentinel.conf"     ports:       - 26381:26381     depends_on:       - redis-master       - redis-slave1       - redis-slave2 

相关内容

热门资讯

aapoker辅助插件工具!h... aapoker辅助插件工具!hhpoker辅助软件下载(透视)真是真的有挂(解密教程)1、这是跨平台...
透视辅助!决战卡五星辅助器下载... 透视辅助!决战卡五星辅助器下载(辅助挂)好像存在有挂(详细辅助德州论坛)1、下载好决战卡五星辅助器下...
透视ai!wpk辅助插件,aa... 透视ai!wpk辅助插件,aapoker有脚本吗,揭秘教程(有挂工具)所有人都在同一条线上,像星星一...
透视辅助!友玩广西辅助联系方式... 透视辅助!友玩广西辅助联系方式(辅助挂)确实真的是有挂(详细辅助必胜教程)小薇(透视辅助)致您一封信...
wpk辅助工具下载!hhpok... wpk辅助工具下载!hhpoker有后台操作吗(透视)竟然是真的有挂(详细教程)1)hhpoker有...
透视有挂!德普之星怎么作弊,a... 透视有挂!德普之星怎么作弊,aapoker免费透视脚本,透明挂教程(有挂详情)1、首先打开aapok...
wpk透视表!wepoker辅... wpk透视表!wepoker辅助软件视频(透视)一贯真的有挂(技巧教程);1、下载好wepoker辅...
透视辅助!打哈儿床将辅助(辅助... 透视辅助!打哈儿床将辅助(辅助挂)确实存在有挂(详细辅助专业教程);1、每一步都需要思考,不同水平的...
透视ai!德普之星透视辅助软件... 透视ai!德普之星透视辅助软件是真的吗,aapoker透视插件,大神讲解(有挂解密)1、起透看视 德...
透视辅助!决战卡五星看牌器(辅... 透视辅助!决战卡五星看牌器(辅助挂)原来是有挂(详细辅助细节揭秘);决战卡五星看牌器软件透明挂微扑克...