redis中的集群模式

  主从复制、主从同步(解决高并发读的问题)

3f07f3e0845b4e09a70b73dd92e5feef.png

主从同步原理:

1.全量同步

b302f813312b4916b879b01bd810147c.png

slave(从节点)每次请求数据同步会带两个参数:replid和offset。

        replid:第一次请求同步时,replid和master的replid不一样,这时主节点就知道当前从节点是第一次来。就把自己的版本信息(包括master的replid)发送给从节点,从节点保存主节点的replid,下一次就发这个主节点的replid。就知道当前节点是哪个主节点的从节点。

        注意:如果从节点不是第一次来了,主节点就不会发送RDB文件。而是通过repl_backlog文件去同步数据。

        offset:从节点每次同步信息,就会维护一个偏移量offset。比如说这次从节点保存到了第50条数据,offset就为50。主节点的信息不断再更新。下次再来同步的时候,发现主节点中的offset是80,说明这次我们就需要同步50-80的数据了!

2.增量同步

cf6ab2e363914bb2860fd0d3ee7796ea.png

869c63531a6145328bdceab3c7fe0486.png

 哨兵模式(解决高可用)、集群脑裂

哨兵的作用

ea19bbc8d149413d855eac6c1fe5df79.png哨兵如何选择新的主节点

f2b659f2920e46d99dfa81d71d3d91ce.png

说明:

1.判断主节点和从节点断开时间长短,如果某个从节点断开时间很长,就不会被选为主节点。(断开时间越长,从节点丢失数据越多)

2.slave-priority可以在配置文件中设置

3.offset值越大代表当前从节点越接近主节点的数据。

脑裂问题

487d2a085a3c4fac80d853abe0f2a372.png

例:现在由于网络原因,哨兵监测不到主节点了。就会从剩余从节点中选取一个作为主节点。但是原来的主节点没有宕机,RedisClient连接的还是老的主节点。这样就出现了两个主节点!现在客户端连接的是老的主节点,还会持续往里面写入数据,但是从节点已经同步不了数据了!

d5d8b2b8d55d4eddb76036479163a9a4.png

现在网络恢复了,哨兵会将老的主节点降级为从节点。并且把新的主节点中的数据同步给它,而它之前的数据会被清空!!!客户端写入的数据就丢失了。

解决方案

配置参数

1.第一个参数min-replicas-to-write表示:当客户端写入数据时,这个主节点至少要有一个从节点。才能接受客户端的数据,否则直接拒绝请求。

2.min-replicas-max-lag:主从数据同步延迟

小结

0781ccf5e6ec4894804e7fa5642edf90.png

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《Decoupled Optimisation for Long-Tailed Visual Recognition》阅读笔记

论文标题 《Decoupled Optimisation for Long-Tailed Visual Recognition》 长尾视觉识别的解耦优化 作者 Cong Cong、Shiyu Xuan、Sidong Liu、Shiliang Zhang、Maurice Pagnucco 和 Yang Song、 来自新南威尔士大学计算机科学与工程学院、北京大学计算机学院多媒体信息处…

ASP.NET WebApi 如何使用 OAuth2.0 认证

前言 OAuth 2.0 是一种开放标准的授权框架,用于授权第三方应用程序访问受保护资源的流程。 OAuth 2.0 认证是指在这个框架下进行的身份验证和授权过程。 在 OAuth 2.0 认证中,涉及以下主要参与方: 资源所有者(Resource Owner&…

【吴恩达机器学习-week2】多个变量的线性回归问题

文章目录 1.1 目标2 问题陈述2.1 包含我们示例的矩阵 X2.2 参数向量 w \mathbf{w} w 和 b b b 3 使用多个变量进行模型预测3.1 逐元素单独预测3.2 单一预测,向量 4 使用多个变量计算成本5 使用多个变量的梯度下降5.1 使用多个变量计算梯度 多个变量的梯度下降小结…

静态IP设置:小白必看攻略

在现代网络环境中,IP地址是连接互联网的基石。它就像网络世界中的门牌号,让数据能够在庞大的网络海洋中准确找到目标。其中,静态IP地址由于其固定不变的特性,在某些特殊应用场景下尤为重要。那么,如何设置静态IP地址呢…

Spring-Bean 作用域

作用域 作用域案例 public class BeanScopeDemo {AutowiredQualifier("singletonPerson")Person person;AutowiredQualifier("prototypePerson")Person person1;AutowiredQualifier("prototypePerson")Person person2;AutowiredSet<Person&g…

FFmpeg常用API与示例(四)——过滤器实战

1.filter 在多媒体处理中&#xff0c;filter 的意思是被编码到输出文件之前用来修改输入文件内容的一个软件工具。如&#xff1a;视频翻转&#xff0c;旋转&#xff0c;缩放等。 语法&#xff1a;[input_link_label1]… filter_nameparameters [output_link_label1]… 1、视…

住宅ip与数据中心ip代理的区别是什么

代理通常意味着“替代”。它是用户设备和目标服务器之间的中介&#xff0c;允许在不同的IP地址下上网。代理ip根据来源分类可分住宅ip与数据中心ip&#xff0c;二者之间区别是什么呢&#xff1f; 住宅ip是由互联网服务提供商(ISP)提供给家庭的IP地址。出于这个原因&#xff0c…

笨方法自学python(三)-数学计算

数字和数学计算 这章练习里有很多的数学运算符号。我们来看一遍它们都叫什么名字 plus 加号-minus 减号/ slash 斜杠*asterisk 星号% percent 百分号< less-than 小于号greater-than 大于号< less-than-equal 小于等于号 greater-than-equal 大于等于号 print ("I …

LeetCode/NowCoder-链表经典算法OJ练习1

目录 说在前面 题目一&#xff1a;移除链表元素 题目二&#xff1a;反转链表 题目三&#xff1a;合并两个有序链表 题目四&#xff1a;链表的中间节点 SUMUP结尾 说在前面 dear朋友们大家好&#xff01;&#x1f496;&#x1f496;&#x1f496;数据结构的学习离不开刷题…

企业网络需求及适合的解决方案

近年来&#xff0c;企业网络通信需求可谓五花八门&#xff0c;变幻莫测。它不仅为企业的生产、办公、研发、销售提供全面赋能&#xff0c;同时也让企业业务规模变大成为了可能。 在当前的技术格局下&#xff0c;中大型企业常见的技术方案有很多&#xff0c;而同时也有各自不可替…

【2024亚马逊云科技峰会】Amazon Bedrock + Llama3 生成式AI实践

在 4 月 18 日&#xff0c;Meta在官网上公布了旗下最新大模型Llama 3。目前&#xff0c;Llama 3已经开放了80亿&#xff08;8B&#xff09;和700亿&#xff08;70B&#xff09;两个小参数版本&#xff0c;上下文窗口为8k&#xff0c;据称&#xff0c;通过使用更高质量的训练数据…

零代码平台助力中国石化江苏油田实现高效评价体系

概述&#xff1a; 中国石化集团江苏石油勘探局有限公司面临着评价体系依赖人工处理数据、计算繁琐且容易出错的挑战。为解决这一问题&#xff0c;他们决定借助零代码平台明道云开发江苏油田高质量发展经济指标评价系统。该系统旨在实现原始数据批量导入与在线管理、权重及评分…