redis-主从复制

 1.主从复制

1.1简介

主机数据更新后根据配置和策略, 自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主

1.2作用

1、数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。

2、故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;实际上是一种服务的冗余。

3、负载均衡:在主从复制的基础上,配合读写分离,可以由主节点提供写服务,由从节点提供读服务(即写Redis数据时应用连接主节点,读Redis数据时应用连接从节点),分担服务器负载;尤其是在写少读多的场景下,通过多个从节点分担读负载,可以大大提高Redis服务器的并发量。

4、读写分离:可以用于实现读写分离,主库写、从库读,读写分离不仅可以提高服务器的负载能力,同时可根据需求的变化,改变从库的数量。

5、高可用基石:除了上述作用以外,主从复制还是哨兵和集群能够实施的基础,因此说主从复制是Redis高可用的基础

2.复制原理

  • Slave启动成功连接到master后会发送一个sync命令
  • Master接到命令启动后台的存盘进程,同时收集所有接收到的用于修改数据集命令, 在后台进程执行完毕之后,master将传送整个数据文件到slave,以完成一次完全同步
  • 全量复制:而slave服务在接收到数据库文件数据后,将其存盘并加载到内存中。
  • 增量复制:Master继续将新的所有收集到的修改命令依次传给slave,完成同步
  • 但是只要是重新连接master,一次完全同步(全量复制)将被自动执行

3.一仆二主

3.1找到原始的redis.conf 文件

3.2创建伪集群

3.2.1创建一主两从配置文件

3.2.2配置各配置文件

3.2.4启动三台服务器

redis-server  /usr/local/myredis/redis6381.conf

指定配置文件启动服务

3.2.5进入命令行 (指定端口号)

查看运行状态 :info replication

3.2.6配置从服务器

没有设置主从关系的话,每一台服务器都是master

3.2.6.1从服务器中info replication
3.2.6.1主服务器info replication

 4.薪火相传

4.1后面的从节点把主节点设置为上一个节点

4.2即使主节点也是从节点

4.3概括图

4.4缺点

如果中间的宕机了,则集群就瘫痪了

4.5反客为主(手动挡)

4.5.1让主节点宕机

4.5.2让从节点成为主节点

slaveof no one

 5.哨兵机制(sentinel)

主从配置成一主二从

哨兵选举机制,如果有半数节点发现某个异常节点,共同决定改异常节点的状态,如果该节点是主节点,对应的备节点自动顶替为主节点。Sentinel(哨兵)是Redis 的高可用性解决方案:由一个或多个Sentinel 实例 组成的Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器。

5.1编写哨兵配置文件

名字不要写错 sentinel.conf

5.2监听

当主机挂掉,从机选举中产生新的主机

主机改变成6382了

5.3自动监听

5.4关于旧主机恢复正常

原主机重启后会变为从机

5.5图示更改过程

5.6优先级

优先级在redis.conf中默认:replica-priority 100,值越小优先级越高

偏移量是指获得原主机数据最全的

每个redis实例启动后都会随机生成一个40位的runid

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/356269.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

群辉开启WebDav服务+cpolar内网穿透实现移动端ES文件浏览器远程访问本地NAS文件

文章目录 1. 安装启用WebDAV2. 安装cpolar3. 配置公网访问地址4. 公网测试连接5. 固定连接公网地址6. 使用固定地址测试连接 本文主要介绍如何在群辉中开启WebDav服务,并结合cpolar内网穿透工具生成的公网地址,通过移动客户端ES文件浏览器即可实现移动设…

如何搭建开源笔记Joplin服务并实现远程访问本地数据

文章目录 1. 安装Docker2. 自建Joplin服务器3. 搭建Joplin Sever4. 安装cpolar内网穿透5. 创建远程连接的固定公网地址 Joplin 是一个开源的笔记工具,拥有 Windows/macOS/Linux/iOS/Android/Terminal 版本的客户端。多端同步功能是笔记工具最重要的功能,…

API:低代码平台的强大秘诀与无限可能

应用编程接口 (API) 是应用程序以可编程格式访问其关键能力和功能的一种方式,从而其他应用程序可以利用它们。API 本质上支持应用程序之间的无缝数据流,使开发人员能够在应用程序中添加更多功能,而无需依赖大量编码。 举一个简单的例子。 您…

阿里云如何找回域名,进行添加或删除?

权威域名管理介绍说明,包含添加域名、删除域名、找回域名、域名分组等操作介绍。 一、添加域名 非阿里云注册域名或子域名如需使用云解析DNS,需要通过添加域名功能,将主域名或子域名添加到云解析控制台,才可以启用域名解析服务。…

基于springboot+vue的医院管理系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 研究背景…

如何发现帕鲁私服漏洞

白天当帕鲁、晚上抓帕鲁 相信所有的帕鲁玩家都不希望辛辛苦苦肝了几百小时抓的帕鲁因为网络入侵消失,除了抵御游戏内的强盗入侵,还要抵御现实世界的网络入侵,原本单纯的帕鲁变的复杂无比。 服务器弱口令、服务漏洞、未授权访问等入侵手段&a…

计算机网络——网络层(2)

计算机网络——网络层(2) 小程一言专栏链接: [link](http://t.csdnimg.cn/ZUTXU) 网络层——控制平面概述路由选择转发表路由协议路由信息的交换小结 路由选择算法常见的路由选择算法距离矢量路由算法工作原理优缺点分析 链路状态路由算法基本工作原理优…

D35XB100-ASEMI整流桥D35XB100参数、封装、规格

编辑:ll D35XB100-ASEMI整流桥D35XB100参数、封装、规格 型号:D35XB100 品牌:ASEMI 正向电流(Id):35A 反向耐压(VRRM):1000V 正向浪涌电流:550A 正向…

JavaScript定义变量及赋值

定义变量及赋值 ☞ 定义变量,未赋值var 变量名; 默认值是undefined ☞ 定义变量,且赋值var 变量名 数据;☞ 总结:1. 一个变量一次只能保存一个值;2. 以最后一次赋值为准3. JS变量区分大小写变量命名规范 ☞ 规则 必须遵守的,不遵守的话 JS引擎 发…

PC电脑端的小程序顶部自定义标题失效的原因

windows客户端不被支持:navigationStyle:custom!! navigationStylestringdefault导航栏样式,仅支持以下值: default 默认样式 custom 自定义导航栏,只保留右上角胶囊按钮。iOS/Android 微信客户端 7.0.0,Windows 微信客户端不支…

一文读懂Python中的映射

python中的反射功能是由以下四个内置函数提供:hasattr、getattr、setattr、delattr,改四个函数分别用于对对象内部执行:检查是否含有某成员、获取成员、设置成员、删除成员。 获取成员: getattr class Foo:def __init__(self, name, age):se…

c语言实战之贪吃蛇

文章目录 前言效果展示游戏用到的图片游戏思路一览游戏前准备一、贪吃蛇、食物、障碍物节点坐标的结构体二、枚举游戏状态、和贪吃蛇的方向三、维护运行的结构体 游戏开始前的初始化一、学习图形库相关知识二、设置背景三、欢迎界面四、初始化贪吃蛇五、生成障碍物六、生成食物…

【Uni-App】Vue3如何使用pinia状态管理库与持久化

安装插件 pinia-plugin-unistorage 引入 // main.js import { createSSRApp } from "vue"; import * as Pinia from "pinia"; import { createUnistorage } from "pinia-plugin-unistorage";export function createApp() {const app create…

Backtrader 文档学习-Order StopTrail(Limit)

Backtrader 文档学习-Order StopTrail(Limit) 1.概述 版本1.9.36.116之后支持[StopTrail, StopTrailLimit and OCO]的订单类型,并支持broker的实时交互 。 StopTrail订单,它是一种追踪止损订单。当市场价格朝定义的交易方向移动时,StopTrai…

国考省考行测:分析推理,形式逻辑,所有有的分析

国考省考行测: 2022找工作是学历、能力和运气的超强结合体! 公务员特招重点就是专业技能,附带行测和申论,而常规国考省考最重要的还是申论和行测,所以大家认真准备吧,我讲一起屡屡申论和行测的重要知识点 遇到寒冬&am…

【LeetCode】98. 验证二叉搜索树(中等)——代码随想录算法训练营Day20

题目链接:98. 验证二叉搜索树 题目描述 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树…

什么是正向代理?为什么要使用它?

在计算机网络中,代理服务器(Proxy Server)是一种充当客户端和目标服务器之间的中间人的计算机或应用程序。代理服务器可以用于多种目的,其中之一就是正向代理。 正向代理的定义 正向代理是一种代理服务器配置方式,它…

多场景建模:快手参数及Embedding个性化网络PEPNet

Parameter and Embedding Personalized Network (PEPNet) 背景 多场景:双列Tab(Double-Columned Discovery Tab)、精选Tab(the Featured-Video Tab)、沉浸单列Tab(the Single-Columned Slide Tab&#xf…

spring-bus消息总线的使用

文章目录 依赖bus应用接口用到的封装参数类 接收的应用监听器定义的事件类 使用bus定义bus远程调用A应用数据更新后通过bus数据同步给B应用 依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bus-amqp…

使用CUDA过程中出现异常

使用&#xff1a;yolo detect train dataSKU-110K.yaml modelyolov8n.pt epochs100 imgsz640 device0,1 出现错误 UserWarning: CUDA initialization: CUDA unknown error - this may be due to an incorrectly set up e nvironment, e.g. changing env variable CUDA_VISIB…