Redis实战案例19-Redis解决主从一致性问题

news2024/11/29 10:38:41

在这里插入图片描述

主节点(Master)“写操作”:

  1. 接收并响应客户端的读写请求。
  2. 持久化数据到磁盘(根据配置可以选择使用RDB快照或者AOF日志)。
  3. 将自己的写操作同步给所有的从节点。
  4. 处理发布/订阅(Pub/Sub)模式中的发布操作。

从节点(Slave)“读操作”:

  1. 复制主节点的数据。
  2. 提供只读服务,响应客户端的读请求。
  3. 可以支持读写分离,配置为从节点可以处理只读操作,如查询。
  4. 可以配置为提供故障转移(failover)支持,当主节点故障时可以选举一个新的从节点作为新的主节点。
  5. 可以进行备份和数据恢复。

从节点通过复制主节点的数据来实现数据的同步,复制过程中采用了异步的方式,在主从同步期间,从节点会不断地和主节点进行通信,获取主节点的更新操作,并将其应用到自己的数据集中。

问题引出:从节点通过复制主节点的数据来实现数据的同步,而数据的传输有延时,从而就可能出现问题。

当Java客户端获取锁,主节点此时记录线程锁的标识,而主节点会向从节点进行同步,此时主机发生宕机;这是哨兵机制会重新选择一个从节点作为主节点,但此时会出现问题:之前主从同步未完成,其它线程同样可以进行访问,这时就出现了并发安全问题。

在这里插入图片描述

解决方法只能说非常经典:多加一层

将每一层的节点独立起来,每一层的主节点都具有读写能力,获取锁必须从所有层的节点获取锁,每一层做主从同步(与之前的方案相同),但是并不会出现并发安全问题,因为即使有一层主节点发生了上述问题,有线程想趁虚而入访问也是不行的,它必须在每一层节点都获得锁,所以就不会有并发安全问题。

在这里插入图片描述

这种多个锁联合起来的方案叫做multilock

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

shell脚本备份数据库

首先是在本地windows环境下尝试备份数据库 打开mysql的bin目录,然后在地址栏cmd,进入cmd界面,输入mysqldump命令,-u输入用户名,-p输入密码 还有数据库名称,以及后面要保存到的位置 mysqldump -uroot -p tes…

数据标准化助力生产企业产能提升

毫无疑问,多产线、多工厂的协同管理成为集团构建核心竞争力的关键因素。企业内部供应链、研制链的业务贯通与协作需要基于统一的数据标准、统一的集成规范开展,数据标准化将成为企业数字化转型的有效赋能手段。 一、客户诉求 近年来,随着国…

OpenAI科学家Jason Wei关于人工智能的回复

问:你的人工智能之路是如何开始的? 答:虽然你们知道我的工作可能是从 2022 年开始的,但我从 2017 年就开始从事人工智能工作了。在达特茅斯大学读本科时,我原本想成为华尔街的一名银行家,这是我父母那一代…

ORAN上行帧和下行帧的定时关系

在UE天线端口处,相同帧号的UL无线帧,相对于DL无线帧有定时提前偏移。N_TA offset是应用于UE的默认定时偏移参数,除非根据3GPP 36.211或38.211中规定,在小区中配置了另一个值。n-ta-offset是M平面参数,用于控制在O-RU天…

软件设置开机自启

文章目录 一、使用系统自带工具设置开机启动1.winR键打开运行窗口2.输入"shell:startup"→点击确定3.将要开机自启的软件快捷方式放到启动目录下就行 一、使用系统自带工具设置开机启动 1.winR键打开运行窗口 2.输入"shell:startup"→点击确定 3.将要开机…

FastEdit ⚡:在10秒内编辑大型语言模型

概述: 这个仓库旨在通过一个单一的命令,有效地将新鲜且定制化的知识注入到大型语言模型中,以辅助开发人员的工作。 支持的模型:○ GPT-J (6B)○ LLaMA (7B/13B)○ BLOOM (7.1B)○ Falcon (7B)○ Baichuan (7B/13B)○ InternLM (7…

【es】部署后打不开访问页面

具体报错: [2023-07-18T00:55:28,203][WARN ][o.e.x.s.t.n.SecurityNetty4HttpServerTransport] [demo] received plaintext http traffic on an https channel, closing connection Netty4HttpChannel{localAddress/127.0.0.1:9200, remoteAddress/127.0.0.1:5529…

企业应如何面对数字化时代?

企业要想有效面对数字时代,就需要适应和拥抱数字技术带来的机遇和挑战。以下是企业需要考虑的一些关键策略: 拥抱数字化转型:数字化转型涉及重新思考和重新构想业务流程、产品和服务以利用数字技术。这可能包括自动化流程、采用云计算、实施数…

如何学习Java集合框架? - 易智编译EaseEditing

要学习Java集合框架相关的技术和知识,可以按照以下步骤进行: 掌握Java基础知识: 在学习集合框架之前,确保你已经具备良好的Java编程基础,包括语法、面向对象编程(OOP)原理和常用的核心类库等。…

HIVE SQL几种不同的分组排序函数比较

--数据建表 drop table if exists db.tb_name; create table if not exists db.tb_name ( name string,class string,score string ) ; insert overwrite table db.tb_name values ("a","1","100") ,("b","1","99"…

pdf怎么转换成TXT格式?分享这3个方法!

当我们需要从PDF文件中提取文本时,尤其是在收集资料撰写文章或其他文件时,PDF文件的特性可能会造成一些麻烦。PDF文件的版面内容不会受浏览设备的影响,保持着统一的版式,但同时也不易于编辑和修改。因此,常见的解决方案…

基于SSM+Vue的汉服文化平台网站设计与实现

博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…

CleanMyMac X2023中文版升级下载及功能讲解

CleanMyMac X是一款功能强大的Mac系统优化和清理工具。它提供了一系列功能来帮助您优化和保护您的Mac电脑。coco玛奇朵要来分享的是Mac下一款强大、实用的系统清理软件——CleanMyMac,它可以帮助您快速清理系统垃圾,清理Photos重复照片,卸载软…

仿大众点评项目 —— 各阶段详细笔记总结

❤ 作者主页:欢迎来到我的技术博客😎 ❀ 个人介绍:大家好,本人热衷于Java后端开发,欢迎来交流学习哦!( ̄▽ ̄)~* 🍊 如果文章对您有帮助,记得关注、点赞、收藏、…

【MySQL】MySQL8.1.0版本正式发布带来哪些新特性?

文章目录 前言一、畅谈新版本二、8.1.0版本部署2.1、环境准备2.2、配置yum安装依赖2.3、用户及目录创建2.4、创建用户及组2.5、解压缩包2.6、环境变量配置2.7、创建参数文件2.8、数据库初始化2.9、启动Mysql2.10、登陆MySQL 8.1 三、新特性3.1、密码参数3.2、错误日志加强3.3、…

第三章:内存

一、内存的基础知识二、内存管理的概念2.1 **内存空间的扩充技术**2.2 内存空间的分配与回收2.2.1 连续分配管理方式2.2.2 动态分区分配算法2.2.3 非连续分配管理方式2.2.3.1 **基本分页存储管理**2.2.3.2 基本地址变换结构2.2.3.3 具有快表的地址变换机构2.2.3.4 俩级页表2.2.…

使用更少数据训练更好的alpaca

概述 该论文的研究背景是指令微调在大型语言模型中取得了重要的成果,但现有的训练数据质量问题导致模型性能下降。 过去的方法主要是使用低质量的数据进行指令微调,这些数据中存在错误或无关的回答,导致结果误导和训练成本增加。该论文的方…

赫达转债,明电转02上市价格预测

赫达转债 基本信息 转债名称:赫达转债,评级:AA-,发行规模:6.0亿元。 正股名称:山东赫达,今日收盘价:18.72元,转股价格:17.4元。 当前转股价值 转债面值 / 转…

代码测试工具Fortify最新版本介绍及实操

代码测试工具是安全测试、代码审计中经常会用到的一款软件测试工具,支持超过27种语言,超过911,000个组件级API,覆盖810多个SAST漏洞分类。通过Fortify的安全编码规则库,可以定位漏洞根本原因,参考漏洞修复指南。Fortif…

社媒营销:如何使用多开浏览器管理多个Facebook账号?

社交媒体营销已成为企业推广产品和服务的重要渠道,目前很多人转战海外。截至目前为止,Facebook仍是全球最受欢迎社交媒体平台的第一名,是产品推广的好平台。 多个Facebook账号的优势: 备用账号 无论你是日常生活分享还是从事fb…