SpringCloud-高级篇(十一)

(1)搭建Redis-主从架构

前面我们实现了Redis的持久化,解决了数据安全问题,但是还有需要解决的问题,下面学习Redis的主从集群,解决Redis的并发能力的问题

Redis的集群往往是主从集群,Redsi为什么做成主从的集群,而不做成传统负载均衡的集群呢?因为Redis应用当中往往都是读多写少的场景,查询比较多,增删改比较少,我们更多应对的是读的压力,做读写分离,一主多从,多个从节点共同承担读的请求,并发能力能够做到很大的提升,这就是为啥搭建主从集群

需要保证客户端无论访问那个从节点都要拿到相同的结果

修改每个配置文件

修改数据保存目录:默认是当前目录:

一个一个配置文件改比较麻烦可以使用一个命令:

s表示替换:把6379替换成7001 g是全局  把dir .替换成、tmp\7001

 

1a:表示在第一行的后面追加一行

7002设置为7001的从节点: 

此时7001会有日志产生:来自7002的请求数据同步

把7003设置为7001的从节点:replicaod跟slaveof命令效果一致

此时7001会有日志产生:来自7003的请求数据同步

查看7001的状态信息:从属关系

主节点: 

从节点 

从节点不能够写: 

就实现了主节点做些操作,从节点做读操作

(2)数据同步原理

数据同步的底层是如何做到的

全量同步:有一个RDB的过程,会把内存形成快照,整体发送给slave,是比较消耗性能的,生成RDB的速度比较慢,全量拷贝

Redis全量同步

第二次来,就可以根据offset来判断你的进度了,可以基于它做增量同步

查看我们的日志

7002日志:连接    sync同步

第一次7002请求尝试做局部的同步:增量同步,它会传过去id 和offset:1

7001主节点:主节点接口到增量同步,判断id不一样,就拒绝增量同步

拒绝之后做全量同步: 

7002只能做全量同步:

Reids增量同步

在什么情况下无法做增量同步:

offset底层是一个数组,

当slave宕机后,master在一直接收新数据,一直走,当它超多slave的宕机处,走了一环还在走,

slave欠的太多了一环没有记下,又多了一部分

这部分的数据被覆盖了,就消失了只能去master的内存中去找,只能去做全量同步了

(3)主从同步的优化

从两个方面:

1.尽可能的减少全量同步,全量同步的性能比较差嘛

2.优化全量同步的性能

   在配置文件中做无磁盘复制:正常的复制要生成RDB文件,比如说内存有10g,要在磁盘写10g,然后在把磁盘的文件通过网络发送给我们slave,磁盘的读写是比较慢的导致了,同步复制的效率比较低,无磁盘复制就是,当要写RDB文件时,就是io流,不去把它写入磁盘的io流,直接网络中,直接发给slave,减少了磁盘读写

在什么时候可以用呢?当磁盘很慢,网路很快,如果网络带宽不够快,会导致网络阻塞,一定要增加网络带宽

全量同步可以这样优化 

尽可能避免全量同步

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

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

相关文章

瑞数4——MmEwMD逆向分析

瑞数4——MmEwMD逆向分析 提示简介定位入口MmEwMD生成所需参数分析MmEwMD生成的大致流程第一部分生成(所需三个参数)第一部分生成的值赋值给另一个变量第二部分生成并与第一部分拼接最终的结果与MmEwMD拼接 第一部分生成的逆向分析(所需参数:数组a、数字…

【漏洞复现】冰峰VPN存在敏感信息泄露漏洞

漏洞描述 冰峰VPN log/system.log模块日志信息泄露漏洞 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危害国家安全、荣誉和利益,未经授权请勿利…

使用代理IP保护爬虫访问隐私数据的方法探讨

目录 前言 1. 获取代理IP列表 2. 随机选择代理IP 3. 使用代理IP发送请求 4. 处理代理IP异常 总结 前言 保护爬虫访问隐私数据是一个重要的安全问题。为了保障用户的隐私,很多网站会采取限制措施,如封禁IP或限制访问频率。为了绕过这些限制&#x…

1、Excel工作场景和知识点总结

参考: 戴师兄–戴你玩转数据分析 Excel发挥战斗力的场景 地量级数据的存储 我们日常所用的各种数据表格,基本都以excel的.xlsx或者.xls格式进行存储。并且因为大家电脑上都有excel,这就使excel的通用性很高(我用excel做好一个表发给你&#x…

Nginx 常用变量 与 防盗链

目录 1.常用变量 2. $http_referer 配置防盗链 2.1 referer 2.2 配置防盗链 1.常用变量 变量说明 $args 请求中的参数,也叫查询参数 $content_length HTTP响应信息里的"Content-Length" $document_root nginx虚拟主机配置文件中的root站点根目录…

程序员必知!命令模式的实战应用与案例分析

命令模式是一种行为设计模式,它将请求封装为对象以实现客户端参数化、请求排队、日志记录及撤销操作,旨在解耦调用者与操作实现者,以智能家居为例,用户通过界面发送命令对象,设备作为接收者执行相应操作,无…

EBU7140 Security and Authentication(三)密钥管理;IP 层安全

B3 密钥管理 密钥分类: 按时长: short term:短期密钥,用于一次加密。long term:长期密钥,用于加密或者授权。 按服务类型: Authentication keys:公钥长期,私钥短期…

航空公司管理系统(迷你版12306)

要求 今天分享一个之前辅导留学生的作业,作业要求如下: Project E: Airways Management System Overall description: Your team is employed by an Airways company for the implementation of a computer system responsible for a large part of th…

60天零基础干翻C++————初识C++

初识c 命名空间命名空间的定义命名空间的使用 输入输出流缺省参数引用引用定义常量的引用引用的使用场景做函数参数引用做返回值 命名空间 命名空间的定义 在c语言中会有下面问题 上述代码中,全局变量rand 可能会命名冲突,如下图 此时编译失败&…

Python编程技巧 – 编写单行if条件语句

Python编程技巧 – 编写单行if条件语句 Python Programming Skills – Program Single-liner if Conditionals By JacksonML 通常,我们在写Python代码的时候,都会按部就班地一行行写完,代码的丰富足以让自己骄傲和充实。 实际上&#xff0…

PostGIS学习教程十八:维数扩展的9交集模型

PostGIS学习教程十八:维数扩展的9交集模型 文章目录 PostGIS学习教程十八:维数扩展的9交集模型一、什么是维数扩展的9交集模型二、查找具有特定关系的几何图形三、数据质量测试四、本文涉及的函数五、更多相关资料 一、什么是维数扩展的9交集模型 “维数…

我的第一个前端项目,vue项目从零开始创建和运行

​入门前端,从基础做起,从零开始新建项目 背景:VUE脚手架项目是一个“单页面”应用,即整个项目中只有1个网页! 在VUE脚手架项目中,主要是设计各个“视图组件”,它们都是整个网页中某个部分&…