骚操作之第五十一话主从复制、哨兵、集群

news/2024/7/2 3:33:52

文章目录

  • 一、RDB和AOF
      • 1、RDB
      • 2、AOF
      • 3、RDB和AOF的对比
  • 二、redis集群模式
      • 1、主从复制
      • 2、哨兵
      • 3、集群
  • 三、redis主从复制
  • 四。哨兵模式
  • 五、CLUSTER集群

一、RDB和AOF

1、RDB

内存数据包保存到磁盘中实现持久化(中间会进行压缩)
1.1、持久化的方式:基于结果,有手动、自动、被动触发方式
①手打触发:直接使用bgsave(时间把握不好的话,GG的快速命令之一,当要执行bgsave的时候,是需要提交邮件申请的)

②自动触发:save m n 900秒 至少1次操作(配置文件)

③被动1)执行shutdown之后,会触发bgsave 2)正常渠道关闭redis的时候(不包括暴力关闭,例如:rm -rf /var/lib/redis.pid)

1.2、RDB:类似于快照,“周期性”的进行保存,个人偏向于触发式的快照这个说法 save m n

2、AOF

内存数据,先append追加到缓冲区中,再从缓冲区中根据同步写入的策略,写入到磁盘中.

2.1、持久化的方式,基于执行语句,主要分为手动、自动方式
①手动:bgrewriteaof②自动:1)基于定期时间执行;2)基于AOF文件和缓存数的差异值进行AOF(默认64M);③同步写入策略 1)everysecond 2)always 3)no

2.2、压缩功能:针对于AOF文件进行的压缩处理,主要体现在rewrite重写机制。
①过期的key
②无效的key
③多条合并
以此,节省磁盘资源

3、RDB和AOF的对比

①RDB持久化速度相较于AOF更快(基于结果保存,并且直接将内存中的数据,写入到磁盘中)
②从redis重启后的数据恢复角度看,AOF会比RDB更为安全
③优先级:仅当AOF功能关闭时,才会基于RDB进行恢复
④RDB和AOF持久化的文件对比而言,AOF的文件体积天然会比RDB大,并且在首次全量备份后,会进行增量备份后,毕竟容易造成一个redis自身的磁盘空间问题,例如1)共享存储2)定时归档3)类似于find /etc/-name ‘*.log’-mtime +30 | xargs scp

二、redis集群模式

1、主从复制

主从复制时高可用redis的基础,哨兵和集群都是在主从复制基础上实现高可用的,主从复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单等的故障恢复。①缺陷:故障恢复无法自动化,写操作无法负载均衡,存储能力受到单机的限制

2、哨兵

在主从复制的基础上,哨兵实现了自动化的故障恢复
①缺陷:写操作无法负载均衡,存储能力受到单机的限制

3、集群

通过集群,redis解决了写操作无法负载均衡,以及存储能力受到单机限制的问题,实现了较为完善的高可用方案。

三、redis主从复制

从2
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
从1
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
从2在这里插入图片描述
从1在这里插入图片描述
在这里插入图片描述
从2在这里插入图片描述
从1在这里插入图片描述
在这里插入图片描述
主从1/2在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
从1
在这里插入图片描述

从2
在这里插入图片描述
在这里插入图片描述
验证主从效果
在这里插入图片描述
在这里插入图片描述

四。哨兵模式

在主从复制的基础上起到主节点自动故障转移的作用
1、作用及原理
(1)哨兵模式的作用
①监控:哨兵会不断地检查主节点和从节点是否运行正常
②自动故障转移:当主节点不能正常工作时,哨兵会开始自动故障转移操作,它会将失效主节点的其中一个从节点升级为新的主节点,并让其他从节点改为复制新的主节点。
③通知:哨兵可以将故障转移的结果发送给客户端

2、哨兵模式的原理它是一个分布式系统,用于对主从结构中的每台服务器进行监控,当出现故障时通过投票机制选出新的MASTER并将所有slave连接到新的master.整个运行哨兵的集群的数量不得少于3个节点。

3、结构哨兵结构由两部分组成,哨兵节点和数据节点
3.1、哨兵节点:哨兵系统由一个或多个哨兵节点组成,哨兵节点是特殊的redis节点,不存储数据。
3.2、数据节点:主节点和从节点都是数据节点

4、工作过程哨兵的启动依赖于主从模式,所以需要把主从模式安装好的情况下再去做哨兵模式,所以节点上都需要部署哨兵模式,哨兵模式会监控所有的redis工作节点是否正常。当master出现问题的时候,因为其他节点于主节点失去联系,因此会投票,投票过半就认为这个master的确出现问题,然后会通知哨兵间会推选出一个哨兵来进行故障转移工作。(由该哨兵来指定哪个SLAVE来做新的master),然后从slaves中选取一个作为新的master.

4.1、筛选方式:哨兵互相发送消息,并且参与投票,票多者当选,需要特别注意的是:客观下线是主节点才有的概念,即如果从节点和哨兵节点发生故障,被哨兵主观下线后,将不会再有后续的客观下线和故障转移操作(及哨兵模式只负责MASTER的方面。而不管slave)。当某个哨兵发现主服务器挂掉了,会将master中的sentinelreadistance中的master改为SRI_S_DOWN(主观下线),并通知其他哨兵,告诉他们发现master挂掉了,其他哨兵在接收到该哨兵发送的信息后,也会尝试去连接MASTER,如果超过半数确认MASTER挂掉后,会将MATSER中的sentinelredistance中的master改为SRI_O_DOWN(客观下线)

5、搭建哨兵模式(redis中)
从2
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
从1
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
验证效果
原主
在这里插入图片描述
故障模拟
在这里插入图片描述
在这里插入图片描述
成功
在这里插入图片描述

五、CLUSTER集群

主节点负责读写请求和集群信息的维护,从节点只进行主节点数据和状态信息的复制。
1、作用
(1)数据分区数据分区(数据分片)是集群最核心的功能,集群将数据分散到多个节点,一方面突破了redis单机内存大小的限制,存储容量大大增加,另一方面每个主节点都可以对外提供读服务和写服务,大大提高了集群的响应能力。Redis单机内存大小受限问题,AOF/RDB中,如果单机内存太大,bgsave和bgrewriteof的fork操作可能导致主进程阻塞,主从环境下主机切换时可能导致从节点长时间无法提供服务,全量复制阶段主节点的复制缓冲区可能溢出。

(2) 高可用
集群支持主从复制和主节点的自动故障转移,当任意节点发送故障时,集群仍然可以对外提供服务

(2) 数据分片
Redis集群引入了哈希槽的概念,有16384(2*14)个哈希槽(0-16383)。集群的每个节点负责一部分哈希槽,每个key通过CRC16校验后对16384取余来决定放置哪个哈希槽,通过这个值,去找对应的插槽所对应的节点,然后直接自动跳转到这个对应的节点上进行存取操作以上3个节点组成的集群。


http://www.niftyadmin.cn/n/1978425.html

相关文章

C# 反射技术应用

反射(Reflection)是.NET中的重要机制,通过放射,可以在运行时获得.NET中每一个类型(包括类、结构、委托、接口和枚举等)的成员,包括方法、属性、事件,以及构造函数等。还可以获得每个…

设计模式--建造者模式(builder)

建造者模式概述将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 适用性 1.当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。2.当构造过程必须允许被构造的对象有不同的表示时。 参与者 1.Builder为创建一个Produ…

骚操作之rsync下行同步+lnotify实时同步详解

文章目录一、rsync同步加简介1、关于rsync2、rsync同步源(备份源)二、配置rsync备份源三、Rsync命令基本用法1、基本格式2、常用选项四、配置发起端(backuper)五、配置RsyncInotify实时同步一、rsync同步加简介 1、关于rsync rsync(Remote Sync,远程同步…

超几何分布和二项分布【中阶高阶辅导】

前言 二项分布与超几何分布是两个非常重要的、应用广泛的概率模型,实际中的许多问题都可以利用这两个概率模型来解决.在实际应用中,理解并区分两个概率模型是至关重要的.下面举例进行对比辨析. 一、概念辨析 超几何分布…

Cisco *** 完全配置指南-连载-详解路由器的站点到站点IPSec ***连接问题(1)

Cisco *** 完全配置指南-连载-详解路由器的站点到站点IPSec ***连接问题(1)详细内容见附件

骚操作之ELK日志分析系统

文章目录前言一、ELK日志分析系统简介1、日志处理的步骤2、ELK日志分析系统三部分3、日志服务器二、Elasticsearch介绍1、Elasticsearch概述2、Elasticsearch的概念3、采用分片4、开启分片副本的主要原因三、Logstash介绍1、Logstash概述2、Logstash主要组件四、Kibana介绍1、K…

nginx+lua(openresty) lua-mongodb 安装及使用(四)

前言 前章已经讲述 ua-protobuf 安装及使用 这章主要讲述 openresty 环境下 lua-mongodb 安装及使用 1:环境 ubuntu16(18) mongodb 3.6 2:安装mongodb 3.6 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 #创…

apahce启用http2

2019独角兽企业重金招聘Python工程师标准>>> 需要前置条件传送门 其实前置做完了,h2是很简单的事 1.apache启用http2_module 2.打开apche的配置文件,写上 Protocols h2 http/1.1 3.重启apache,打开浏览器看看吧 转载于:https://my.oschina.net/u/3470006/blog/20560…