一、前言

下面主要从Redis主从复制的工作原理(全量同步、增量同步、Redis主从同步策略)、Redis哨兵模式介绍(应用场景、哨兵模式的工作原理)、Redis主从复制的可用性验证等及具体分析说明

二、Redis主从复制的工作原理

1.全量同步 - Redis全量复制一般发生在从服务器(Slave)初始化阶段, Slave需要将主服务器(Master)上的所有数据都复制一份。具体步骤如下:1)从服务器连接主服务器,发送SYNC命令;@b@2)主服务器接收到SYNC命名后,开始执行BGSAVE命令生成RDB文件并使用缓冲区记录此后执行的所有写命令;@b@3)主服务器BGSAVE执行完后,向所有从服务器发送快照文件,并在发送期间继续记录被执行的写命令;@b@4)从服务器收到快照文件后丢弃所有旧数据,载入收到的快照;@b@5)主服务器快照发送完毕后开始向从服务器发送缓冲区中的写命令;@b@6)从服务器完成对快照的载入,开始接收命令请求,并执行来自主服务器缓冲区的写命令;

完成上面几个步骤后就完成了从服务器数据初始化的所有操作,从服务器此时可以接收来自用户的读请求。

2.增量同步 - Redis增量复制是指Slave初始化后开始正常工作时主服务器发生的写操作同步到从服务器的过程。增量复制的过程主要是主服务器每执行一个写命令就会向从服务器发送相同的写命令,从服务器接收并执行收到的写命令。

3.Redis主从同步策略 - 主从刚刚连接的时候,进行全量同步;全同步结束后,进行增量同步。当然,如果有需要,slave在任何时候都可以发起全量同步。redis策略是,无论如何,首先会尝试进行增量同步,如不成功,要求从机进行全量同步。

三、Redis哨兵模式介绍

1.Redis哨兵的应用场景

Redis的哨兵(sentinel)系统用于管理多个Redis服务器,该系统执行以下三个任务:1.监控(Monitoring):哨兵(sentinel)会不断地检查Master和Slave是否运作正常。@b@2.提醒(Notification):当被监控的某个Redis出现问题时,哨兵(sentinel)可以通过API向管理员或者其他应用程序发送通知。@b@3.自动故障迁移(Automatic failover): @b@  1)如果Master异常,哨兵(sentinel)会开始一次自动故障迁移操作, Master-Slave切换进程将会启动,将其中一个Slave作为Master,将之前的Master作为Slave;@b@  2) Master-Slave切换后,master_redis.conf、slave_redis.conf和sentinel.conf的内容都会发生改变,即master_redis.conf中会多一行slaveof的配置,sentinel.conf的监控目标会随之调换;

四、Redis主从复制的可用性验证

1.主从复制可用性验证步骤

1.1.redis主服务器测试命令(10.20.113.28)A.进入命令可执行位置:cd /usr/local/redis/redis-3.2.6/src@b@B.打开redis客户端:redis-cli -a YourOwnPassword -h 10.20.113.28 -p 6379@b@注:其中本文中的"YourOwnPassword"为用户自定义的主服务器redis链接密码(对应masterauth属性),若搭建环境时未设置密码,打开redis客户端时需省略"-a YourOwnPassword";@b@C.执行主服务器的写入命令:set test success

1.2.redis从服务器测试命令(10.20.113.69)A.进入命令可执行位置:cd /usr/local/redis/redis-3.2.6/src@b@B.打开redis客户端:./redis-cli -a YourOwnPassword -h 10.20.113.69 -p 6379@b@C.执行主服务器的读取命令:get test@b@D.c步骤执行完成后,预期结果为"success",则为主从同步成功;

1.3.redis从服务器测试命令(10.20.117.229)A.进入命令可执行位置:cd /usr/local/redis/redis-3.2.6/src@b@B.打开redis客户端:./redis-cli -a YourOwnPassword -h 10.20.117.229 -p 6379@b@C.执行主服务器的读取命令:get test@b@D.c步骤执行完成后,预期结果为"success",则为主从复制同步成功;

2.哨兵模式可用性验证步骤

2.1.链接云主机Redis环境 - 链接任意一台云主机(10.20.113.28或10.20.113.69或10.20.117.229,此验证步骤以链接10.20.117.229为例);

A.链接云主机成功后,打开redis客户端:redis-cli -a YourOwnPassword -h 10.20.117.229 -p 6379

B.输入命令info replication(该命令用于查看主从复制的角色)

C.输入ctrl+c退出redis客户端

D.输入命令ps -ef|grep redis,查看到redis客户端pid为20390

E.输入命令:kill -9 20390(测试时以实际的pid为准)

F.切换云主机,输入命令:ssh 10.20.113.28,接着按Enter,然后输入云主机链接密码,切换主机成功!

G.输入命令:redis-cli -a YourOwnPassword -h 10.20.113.28 -p 6379,然后输入info replication,查看到当前服务器的角色和master的ip

F. ctrl+c退出redis客户端,输入命令:ssh 10.20.113.69(同步骤F),切换到master主机;

G.输入命令:ps –aux|grep redis查看redis的pid

H.输入命令:kill -9 4612(测试时以redis-server的实际pid为准),即将redis主从复制的主服务器的redis-server关掉,此时剩余一台服务器(10.20.113.28)的redis-server为开启状态。Redis故障迁移时,主从切换成功的标志为正常运行的slave服务器需由slave角色升级为master。

I.切换到10.20.113.28服务器,进行角色的升级验证;

J. 输入命令:redis-cli -a YourOwnPassword -h 10.20.113.28 -p 6379,然后输入info replication,查看到当前服务器的角色和master的ip,此时可见到10.20.113.28服务器成功由slave角色升级为master;

K.链接另两台服务器,链接成功后输入命令redis-server /usr/local/redis/redis-3.2.6/redis.conf,启动另两台服务器各自的redis-server;

L.在10.20.113.28服务器,输入命令:redis-cli -a YourOwnPassword -h 10.20.113.28 -p 6379,然后输入info replication,此时可见到哨兵已监控到另外两台从机启动,并对从机进行链接成功,此结果说明redis哨兵模式可行;

redis哨兵模式从服务器作用,通过Redis主从复制和哨兵模式进行可行性验证实践...相关推荐

  1. 浏览器无痕模式有什么作用,手机浏览器开启无痕模式的方法

    在我们的手机基本上都安装了浏览器,当我们在上网过程中,不想浏览记录被留下,那么开启无痕模式是非常有必要的.那么,浏览器的无痕模式有什么作用,手机浏览器如何开启无痕模式呢?下面教大家如何在手机浏览器中开 ...

  2. dell服务器单硬盘模式,PowerEdge 服务器 — 如何以 PERC 10 的 eHBA 模式创建虚拟磁盘...

    本文介绍如何以 PowerEdge RAID 控制器 10 的 eHBA 模式创建虚拟磁盘. 目录 增强型 HBA 模式(简称 eHBA 模式)是 H740P.H745 和 H745P MX 卡可用的 ...

  3. b/s模式的服务器性能监控系统,基于B/S模式的PC监控系统及方法

    技术领域 本发明涉及一种基于B/S模式的PC监控系统及方法. 背景技术 随着近年来网络的急速发展,网络安全问题日益凸显,当发现桌面系统存在异常的时候往往需要使用PC(个人计算机)监控系统进行监控分析, ...

  4. csgo躲猫猫模式显示服务器已满,CSGO有躲猫猫模式吗 CSGO躲猫猫模式进入方法一览...

    CSGO有躲猫猫模式吗 CSGO躲猫猫模式进入方法一览 从CS1.6开始,到CS:S,然后是最近的<反恐精英:全球攻势>(CSGO),虽然一直是电子竞技游戏,但有许多高手也为这款游戏创建了 ...

  5. Redis数据库(三)——(主从复制、哨兵模式、集群)

    Redis数据库(三)--(主从复制.哨兵模式.集群) 一.Redis主从复制 1.Redis主从模式介绍 2.Redis主从复制的流程 3.Redis主从复制的作用 4.Redis主从复制的搭建 环 ...

  6. Redis高可用:主从复制及哨兵模式

    目录 主从复制 作用 复制原理 使用的方式 哨兵模式 主从切换过程 Redis Sentinel的配置文件 参考 主从复制 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器.前 ...

  7. redis服务之主从复制、哨兵模式、群集模式

    目录 1 Redis主从复制 1.1 Redis主从复制的概念 1.2 Redis主从复制的作用 1.3 Redis主从复制的流程 1.4 Redis主从复制的搭建 安装Redis(所有主机) 修改M ...

  8. 2.6_11 Redis主从复制、哨兵模式、分片集群

    相关链接 Excel目录 redis官网 redis中文网 Redis集群 1) 主从复制replication:一个master,多个slave,要几个slave取决于要求的读吞吐量[10万QPS/ ...

  9. 缓存加速------Redis主从复制,哨兵模式,集群

    目录 前言 一.Redis主从复制 1.Redis主从复制概述 2.Redis主从复制作用 3.Redis主从复制流程 4.搭建Redis主从复制 ①环境准备 ②安装Redis ③修改Redis配置文 ...

最新文章

  1. 处理字典值是把字典放内存还是用sql处理_SQL索引及其底层实现
  2. 宏基因组报名倒计时!报名线上课还可免费参加线下课
  3. Python学习笔记:面向对象编程(4)
  4. 基于注解的Spring MVC(所需jar包,web.xml配置,Spring文件配置,@Controller,@RequestMapping,@RequestParam,model填参,EL取值)
  5. 微软开源Reactive Extensions
  6. python 进行一元线性回归并输出相关结果_Python实现一元线性回归实战
  7. java heapsort_排序算法笔记:堆排序 HeapSort in java
  8. Python代码这样写更优雅(转)
  9. swing皮肤包 substance
  10. 普通人有必要学新媒体吗?
  11. python利用gzip压缩解压缩StringIO
  12. 河南省计算机基础考试题库,计算机基础考试题库
  13. energy plus matlab,EnergyPlus EMS和ExternalInterface入门学习 [第一篇——简介]
  14. idea更改页面背景颜色设置为护眼颜色
  15. eleme后台的el-form表单分为左右两边放数据 :inline=true
  16. 计算机服务器加载失败,win10系统打开windows Media player听歌提示“服务器运行失败”的详细步骤...
  17. Python实现八字十神的输出
  18. h5物体拖动_HTML5原生拖拽/拖放(drag drop)详解
  19. Windows Live Writer插件:在WLW中插入语法高亮代码
  20. 关于少儿编程编程语言的选择,python还是c++

热门文章

  1. 冒泡排序中时间与空间的复杂度
  2. Java8默认垃圾收集器介绍
  3. 原神风行迷踪猎人角色玩法 分享猎人必胜秘技
  4. curl下载脚本并执行
  5. ch4 Non-contiguous memory allocation
  6. 就谷歌涉黄事件答武汉大学生来信
  7. 静态语言和动态语言的区别
  8. onclick点击事件报错Uncaught ReferenceError: xxx is not defined
  9. git如何查看分支的创建人
  10. 阿里巴巴“新零售”革命真那么新吗?