0
点赞
收藏
分享

微信扫一扫

Nginx 正向代理和反向代理

海牙秋天 2023-06-16 阅读 86

第三阶段基础

时  间:2023年6月15日

参加人:全班人员

内  容:

Redis高可用集群

目录

一、redis主从复制原理介绍

主从复制特点:

主从复制实现原理:

二、主从复制实现操作(多机实例实现)  

前提配置:

主库操作:

从库一操作:

从库二操作:

主库变化:

验  证:

三、redis哨兵操作

主 库:

从库一:

从库二:

验证结果:


一、redis主从复制原理介绍

主从模式下,Redis 分为主库(master)从库(slaver)。主库负责读写,从库只负责读。当主库发生写事件后会将数据同步至从库。主库挂了不会重新选举主库,需等主库重启之后才能继续提供写服务,此间从库仍可提供读服务。

初始化阶段:从库启动后,向主库发送 Sync 命令,主库收到 Sync 命令后,生成 RDB 快照,并缓存生成快照期间的写命令,快照生成完后,发送至从库。从库收到后根据快照和缓存的写命令初始化数据库。

同步阶段:此阶段主库每次收到写命令都会将写命令发送至从库,从库执行写命令,保证数据一致性。

主从复制特点

主从复制实现原理

1.从库通过slaveof 192.168.1.107 6379命令连接主库,并发送sync给主库;

2.主库收到sync,立刻触发bgsave,后台保存RDB,发送给从库;

3.从库接受后会应用rdb快照;

4.主库会陆续将中间产生的新的操作,保存并发送给从库;

5.到此,我们主从复制就正常工作了;

6.之后,主库所有新的操作,都会以命令传播的方式自动发送给从库;

7.如果发生主从断开,从库数据没有任何破坏,重新连接后,从库发送psync给主库;

8.主库会将从库缺失的部分数据同步给从库应用,达到快速恢复主从的目的。

二、主从复制实现操作(机实例实现)  

在此演示的是yum安装方式,且对redis进行无密码设置

前提配置:

1、关闭防火墙

2、yum安装了redis

3、虚拟机网络模式为桥接模式

ip地址自动获取

主库操作:

步骤一:基础操作

  ip地址为192.168.1.107

安装了redis

步骤二:配置redis主配置文件/etc/redis.conf

步骤三:启动redis服务

从库一操作:

步骤一:基础操作

ip地址为192.168.1.108

安装了redis

步骤二:配置redis主配置文件/etc/redis.conf

步骤三:启动redis服务

redis-cli -p 6379 进入,查看当前主从复制信息

操作slaveof 192.168.1.107 6379请看变化!!!

从库二操作:

步骤一:基础操作

ip地址为192.168.1.14

安装了redis

步骤二:配置redis主配置文件/etc/redis.conf

步骤三:启动redis服务

redis-cli -p 6379进入,查看当前主从复制信息

操作slaveof 192.168.1.107 6379请看变化!!!

主库变化:

 

 

验  证:

从库一:无创建功能

从库二:无创建功能

三、redis哨兵操作

此处演示三台服务器都创建哨兵,均监视当前服务

步骤一:分别对主库、从库一、从库二的哨兵模式配置文件/etc/redis-sentinel.conf修改

主 库:

其他操作默认不进行修改

从库一:

其他操作默认不进行修改

从库二:

其他操作默认不进行修改

步骤二:分别启动主库、从库一、从库二的哨兵模式

步骤三:停止主库的redis服务查看变化

验证结果:

步骤一:停止主库的redis服务查看变化

sysrenctl stop redis

步骤二:查看从库一的变化

从库一最终结果:

从库二变化:

从库二最终结果:

 

总  结:

开启redis哨兵模式之后;

主库的redis服务停止;

从库一:原本是1.107的从库,模式时间(30秒)到了之后,复制信息发生变化,主从复制过程停止,哨兵模式随机选择一台主机为服务器,最终选择了1.108这台服务器,也就是原本的从库一变成了主库;

从库二:原本是1.107从库,模式时间(30秒)到了之后,复制信息发生变化,主从复制过程停止,待哨兵模式选择完谁当服务器之后,变成了1.108的从库。

举报

相关推荐

0 条评论