- 博客(32)
- 收藏
- 关注
原创 OOM内存溢出 JVM线上故障 系统突然抖动 卡死 各种超时 JVM优化思路解析 实战分析记录JVM Merry christmas圣诞节的OOM《持续更新》
前言看过很多技术文档,也浏览过很多种技术方案,也实际上简单了解上手和面临过类似这种线上问题,但是一直没有一个很完整的一个记录,JVM调优,一个看起来很高大上,但是一个基本上现在的Java工程师都需要掌握和面试必须要经历的一个技术,但实际上能在公司真正的线上能去上手调优的机会少之极少,很多人可能谈吐起JVM,哗啦哗啦,但是实际上一上手,就可能会小鹿乱撞,但是线上的系统,实际上试错率几乎为0,所以这样的机会,在大型互联网,或者是互联网公司,是压根给不了这个尝试性去调优jvm的机会的,这次分享一个我们线上的问
2021-12-25 18:06:33
1396
5
原创 MySQL专题(九):MySQL主从复制架构图 什么是数据半同步 主从复制架构中的数据延迟问题,应该如何解决? 数据库高可用架构管理的工具MHA的概念
前言1.MySQL主从复制架构图2.什么是数据半同步3.主从复制架构中的数据延迟问题,应该如何解决?4.数据库高可用:基于主从复制实现故障转移【数据库高可用架构管理的工具MHA】1.MySQL主从复制架构图2.什么是数据半同步2.1:为什么提出数据半同步概念?主库将日志写入binlog文件,接着自己就提交事务返回了,也不会管从库是否接收到日志,万一此时主库的binlog还没有同步到从库,结果主库宕机了,此时数据就丢失了,即使做了高可用切换,即可把从库切换为master主库,但是里面并
2021-09-01 15:16:20
374
原创 MySQL专题(八):聚簇索引和非聚簇索引的深度分析 设计索引时候需要考虑到的因素 深入研究explain命令得到的sql执行进行分析 多表关联的sql语句是如何执行的?
前言:玩转MySQL索引1.针对主键之外的字段建立的二级索引,又是如何运作的?2.一个表中是不是索引弄的越多越好?3.在SQL中进行排序的时候,如何才能使用索引?4.回表查询对性能的损害以及覆盖索引是什么?5.几个常见和最基本的索引使用规则6.设计索引的时候,需要考虑到的因素7.MySQL的查询语句的执行计划分析,以及SQL优化8.多表关联的sql语句是如何执行的?9.MySQL是如何根据成本优化选择执行计划的?10.深入研究explain命令得到的sql执行进行分析1.针对主键
2021-09-01 15:00:18
355
原创 MySQL专题(七):磁盘数据文件中的数据页的物理存储结构 MySQL索引的运作核心 基于主键的索引是如何设计的 一颗B+树的完整由来 更新数据的时候自动维护的聚簇索引到底是什么 ?聚簇索引的小总结
前言:说明:本章开始更新实际索引相关的知识点一:前置知识点《前因》1.磁盘数据文件中的数据页的物理存储结构2.假设没有任何索引,数据库是如何查询语句搜索数据的?3.假设没有建立任何的索引,根据主键或者where其他字段条件查询数据的?4.不断在表中插入数据时候,物理存储是如何进行页分裂的?4.1.索引的运作核心,为啥主键要设计为自增呢?4.2.非自增主键引发的页分裂二:基于主键的索引是如何设计的,以及如何根据主键索引查询三:索引的页存储物理结构,是如何用B+树来实现的?《后果》四:
2021-09-01 11:47:49
223
原创 MySQL专题(六):MySQL锁机制(行级) MySQL锁机制(表级别) 线上数据库不稳定性的性能抖动问题
前言:这篇文章会比较简单一些,也是一个锁的插播,主要的是MySQL中的行级锁和表级锁,主要就是两个内容,出于考虑,单独抽取出来了一篇文章,尽可能的区分1.MySQL锁机制(行级)2.MySQL锁机制(表级别)3.线上数据库不稳定性的性能抖动优化实践1.MySQL锁机制(行级)1.1:首先要知道MySQL依靠什么防止脏写?依靠锁机制让多个事务更新一行数据的时候串行化,避免同时更新一行数据。《避免脏写》,更新一行数据需要从磁盘中加载对应的数据页到buffer pool的缓存中(缓存页),才能
2021-09-01 10:44:23
167
原创 MySQL专题(五):经典的MVCC多事务并发控制运行的隔离机制刨析 透彻解析RC和RR的区别?MVCC机制及是如何实现RC和牛叉的RR级别的?
前言:本讲主要是针对事务,和MVCC机制展开!一:MySQL运行时多个事务同时执行是什么场景?1.多个事务并发执行的时候,可能会同时对缓存页的一行数据进行更新,这个冲突如何解决?2.可能有的事务在对一行数据做更新,有的事务在查询,这里的冲突如何处理?二:透彻解析MVCC机制,MySQL是如何实现牛叉的RR级别的?1.MVCC机制的前奏:undo log版本链是个什么东西?2.基于undo log多版本链条实现的ReadView机制?2.1:案例:假设redo log之前就有一个事务插入过的
2021-09-01 10:15:51
503
原创 MySQL专题(四):行溢出是什么东西?表空间以及划分多个数据页的数据区的概念 数据库服务器使用RAID存储架构 深入理解redo log redo log block redo log buffer
前言:本期内容会比较多,可能部分衔接不是非常的完整,如果有错误的地方,欢迎留言指出1.行溢出是什么东西?存放磁盘的多行数据的数据页到底长什么样子?2.表空间以及划分多个数据页的数据区的概念3.MySQL数据库的日志顺序读写以及数据文件随机读写原理4.Linux操作系统的存储系统软件层原理刨析以及IO调度优化原理5.数据库服务器使用的RAID存储架构6.MySQL数据库服务器上的RAID存储架构的电池充放电原理【以及使用了RAID的SDRAM缓存机制充放电的性能抖动问题】7.回顾redo日志
2021-08-31 23:28:50
792
原创 MySQL专题(三):细节梳理InnoDB存储引擎中的Buffer pool缓冲区核心组件 数据库是如何初始化buffer pool 三大链表 如何通过多个buffer pool优化数据块并发性能
前言:这篇文章会比较长,专门针对InnoDB核心组件buffer pool展开分析《BUFFER POOL》一:细节梳理InnoDB存储引擎中的Buffer pool缓冲区核心组件1.如何设置buffer pool内存大小2.数据页:MySQL中抽象出来的数据单位3.磁盘上的数据页是如何与buffer pool中的缓存页对应的4.缓存页对应的描述信息是什么?二:数据库启动的时候,是如何初始化buffer pool三:buffer pool中的三大链表1.free链表2.flush链
2021-08-31 15:56:25
289
原创 MySQL专题(二):一条update语句在InnoDB存储引擎执行的完整链路简述 InnoDB存储引擎 Buffer pool缓冲区 undo log redo log bin log 参数配置
前言:【本期主要将SQL执行器调用存储引擎接口后,大体的执行流程,以及各个日志文件的作用】1.InnoDB存储引擎2.Buffer pool缓冲区3.undo log日志文件4.redo log日志文件以及redo log buffer缓冲区与redo log buffer缓冲区刷入disk的配置机制5.binlog日志文件以及sync_binlog参数的设置6.mysql后台线程将Buffer pool修改后的数据刷入磁盘1.InnoDB存储引擎这个相信每个人都知道这个存储引擎,引
2021-08-31 11:26:41
286
原创 MySQL专题(一)【初识MySQL内部的核心组件】:MySQL的驱动 数据库的连接池 MySQL的工作线程 SQL接口 SQL解析器 查询优化器 执行器组件 存储引擎接口
前言:这个暑假,你get到了吗?1.MySQL的驱动2.数据库的连接池3.MySQL的工作线程4.SQL接口5.SQL解析器6.查询优化器7.执行器组件8.存储引擎接口1.MySQL的驱动是做什么的?尤其记得刚刚学习MySQL的时候,引入的pom坐标:mysql-connector-java,这个驱动是啥玩意,其实也很简单理解,其实就是和MySQL建立网络连接:在访问数据库的时候,Java系统必须要和MySQL建立一个网络连接,这个connector就是面向Java语言的驱动。
2021-08-31 09:58:04
296
原创 Java必突-JVM知识专题(三):啥是内存碎片?Minor GC[复制算法的从始至终]、Full GC[标记整理算法]
前言:1.自己负责的线上系统,到底如何合理设置JVM内存大小?2.支付系统背景引入支付系统每秒钟需要处理多少笔支付订单?3.每日百万交易的支付系统的压力在哪里?如果每日百万交易,那么再JVM的角度来看,就是每天都会在JVM中创建上百万个支付订单对象{1.我们的支付系统需要部署多少台机器?2.每台机器需要多大的内存空间3.每台机器上启动的JVM需要分配多大的堆内存空间?4.给JVM多大的内存空间才能保证可以支撑这么多的支付订单再内存中的创建,而不会导致内存不够直接崩溃?要想解决线上系统最核心的一个参数,
2021-07-02 11:41:42
1586
1
原创 Java必突-JVM知识专题(二):Java堆内存+JVM的垃圾回收机制是用来干什么的+JVM分代模型:年轻代、老年代、永久代、方法区内会不会进行垃圾回收呢?+JVM内存相关的几个核心参数图解
前言:1.JVM的垃圾回收机制是用来干什么的?2.为什么要垃圾回收?3.创建的这些对象,到底在Java堆内存中会占用多少内存空间呢?4.JVM分代模型:年轻代、老年代、永久代、方法区内会不会进行垃圾回收呢?5. 对象到底什么时候进入新生代?6.什么情况下会进入老年代?7. JVM内存相关的几个核心参数图解、如在启动系统的时候设置JVM参数呢?8.如果是线上部署系统应该如何设置JVM参数呢?9.自己负责的线上系统,到底如何合理设置JVM内存大小?1.JVM的垃圾回收机制是用来干什么的?
2021-04-29 20:46:38
206
原创 Java必突-JVM知识专题(一): Java代码是如何跑起来的+类加载到使用的过程+类从加载到使用核心阶段(类初始化)+类加载的层级结构+什么是JVM的内存区域划分?Java虚拟机栈、Java堆内存
前言:该章节知识点梳理:本文主要是入门和了解jvm,不做深入1.Java代码是如何运行起来的?2.类加载到使用的过程?3.验证准备和初始化的过程?4.类从加载到使用核心阶段:初始化、类加载器的概念、类加载的层级结构、什么是JVM的内存区域划分?5.JVM中有哪些内存区域?6.字节码执行引擎、程序计数器?7.Java虚拟机栈、Java堆内存?8.tomcat的类加载器体系?【这里放在3.6位置】1.Java代码是如何跑起来的?凡是只要接触过Java的基本上都知道Hello World
2021-04-29 19:57:27
145
原创 RocketMQ(十一)生产案例:为什么基于rocketmq进行订单库数据同步时会消息乱序?+基于延迟消息机制优化大量订单的定时退款扫描问题+订单定时退款场景,分析rocketMQ的延迟消息代码实现
前言:insert into order(num) value 0;update order set num = 100,where orderId = 20;这两条sql要是执行顺序不一致会发生啥问题?下了订单迟迟不支付,堆压一堆未支付的信息在后台线程扫描?会出现什么问题?1.为什么基于rocketmq进行订单库数据同步时会消息乱序?1.1.大数据团队同步订单数据库的技术方案回顾:大数据系统直接跑复杂的大sql在订单系统的数据库上出一些数据报表,是会严重影响订单系统的性能的,所以基于cana
2021-04-21 16:55:32
522
原创 RocketMQ(十):rocketMQ的幂等性是什么?解决了什么问题?幂等性的两种解决方案的优势和缺点+rocketmq的死信队列?
前言:(简单聊聊)rocketMq为啥要花这么多精力去学习,可能就和现在比较火的注册中心:nacos一样,可能是一种前景或者是一种趋势罢了,现在技术迭代太快,今天学了hibernate,明天出mybatis,学了mybatis,出来plus,学完spring,出来cloud,总之学就完了,技多不压身,学不等于会,但是学可以扩充自己的思想可以知道更多的解决思路和解决方案,有了解决方案和思路,剩下的就是版本迭代,百度撑腰,各种大佬指点,最后终极版就是成型的“项目”了。瞎扯一下,不喜勿喷;1.上图先?【一
2021-04-21 15:30:42
1407
原创 RocketMQ(九):rocketMQ设计的全链路消息零丢失方案?+rocketmq消息中间件事务消息机制的底层实现原理?+half是什么?+half消息是如何对消费者不可见的?
前言:目前rocketmq更新已经更新了11篇博客了,预计接下来的2-3篇是暂时的更新进度了,准备更新一下springboot或者是jvm,mysql相关的专题出来,后续更新完事后,再分享一些实战性的案例出来,方便加深理解,也感谢一路看到这里的同仁;1.屁话不多说,开局一张图(mq事务机制执行流程图)2.分析从producer–>rocketmq–>consumer成功消费要打多少怪兽1.订单系统推送消息到mq的过程是否会发生数据丢失?当然可能会丢失:网络出现抖动,发送消息失败
2021-04-21 14:45:33
1623
原创 RocketMQ(八)深入理解一下rocketMQ是如何基于netty扩展出高性能网络通信架构的?rocketMQ基于mmap内存映射实现commitLog磁盘文件的高性能读写?
前言:本章深入理解一下rocketMQ是如何基于netty扩展出高性能网络通信架构的?rocketMQ基于mmap内存映射实现commitLog磁盘文件的高性能读写?1.MQ如何基于netty扩展出高性能网络通信架构的?首先知道三个概念:1.1:Reactor:主要用来接收写入或者是拉取请求;【线程池,默认3个线程】1.2:worker:主要用于处理ssl加密验证,编码解码,连接空闲检查,网络连接管理等等工作;【线程池,默认8个线程】;1.3:sendMessages:业务线程池完成请求的处
2021-04-15 14:47:30
668
原创 RocketMq(七):broker是如何将消息读取出来返回给消费机器的呢?消费者是根据什么策略从master或者是slave上拉取消息的呢?commitlog基于os cache+磁盘一起读取机制
前言:继续深入一下mq,这期主要聊一聊消费者如何获取消息,顺带附带一些上章还未讲完的知识点;1.broker是如何将消息读取出来返回给消费机器的呢?涉及两个概念:consumerqueue和commitlog,在上篇文章中,也有讲过,这两个文件,记住是两个文件就完事了,假设一个消费者机器发送拉取请求到broker了,并说:这次要拉取messagequeue0中的消息,如果之前都没拉取过消息,所以就从这个messagequeue0的第一条消息开始拉取,于是broker就会找到messagequeu
2021-04-14 21:03:21
690
1
原创 RocketMq(七):RocketMQ深入理解(producer生产者的工作原理?broker是如何持久化存储消息的?如何消息写入commitLog文件近乎内写性能的?dledger的raft协议)
前言这周更晚了一天,这周的内容可能相对于前些章来说会稍微繁琐一些,但是依然还是干货满满,相信追剧到这里的博友,都是志同道合的老友了,这章主要进阶一波,深入理解一下rocketMQ的一些原理知识,废话不多说,开干!1.首先解答前期铺垫的pull和push两种消费模式的区别之前的章节中有做过一个铺垫,这里就不多提了,简单的来讲,push和pull本质上消费模式是一样的,都是消费者机器主动发送请求到broker机器去拉取一批消息下来,那么对于这两种消费模式,应该选择哪种消费模式呢?区别在哪里的?1.
2021-04-14 20:37:31
1160
原创 RocketMQ消息中间件(六下):订单秒杀系统压力过大+再造订单系统专门处理秒杀+MQ中的push+pull的区别
前言吃的苦中苦,也不一定是人上人,但是想要泡洋妞,就得有点洋货,小鸡汤喝一碗,撸起袖子干;链接: rocketMQ(6上)中解决了订单系统的三个问题,那么还剩下一些问题,慢慢来一步步的解决和优化;今天可能引进的知识点比较多,所以可能一口气无法从根本直接打完,首先知道因果,部分底层,才能更加深刻的理解变成自己的解决思路,我们公司也出现过上一章节的大数据团队获取数据的问题【查看报表,引入mq也好,数据分库分表也好,都能得到解决,不影响其他系统,后期如果有时间,做个小分享,可能也会忘记(尽量),其实不关是
2021-04-07 16:26:41
917
1
原创 RocketMQ消息中间件(六上)-订单系统的问题分析解答,MySQL中的binLog日志是什么?和大数据团队数据传输有什么关系呢?
前言在rocketMQ一中,分析了很多图文说明订单系统可能会遇到的一些问题,这次继续来分析和解决这些问题,或者是换句话讲,引入了MQ对叮当系统进行了哪些质一样的改变?一个订单系统中存在的问题:1、下单核心流程环节太多,性能比较差。2、订单退款的流程可能面临退款失败的风险。3、关闭过期订单的时候,存在扫描大量订单数据的问题。4、跟第三方物流系统耦合在一起,性能存在抖动的风险。5、大数据团队要获取订单数据,存在不规范直接查询订单数据库的问题。6、做秒杀活动时候,订单数据库压力比较大。1
2021-04-07 15:17:07
555
4
原创 RocketMQ消息中间件(五下):实战部署之如何对RocketMQ进行可视化的监控和管理?压测前准备:Linux的OS内核参数调整,JVM参数调整以及MQ中间件核心参数调整
前言在进行这篇文章的同仁,建议看之前可以提前看看:RocketMQ消息中间件(五上),上一章(五上)我们部署rocketMQ的集群,也做了简单的代码测试,这章我们主要做一些参数的调优和可视化工具的一些管理;1.对RocketMQ进行可视化的监控和管理首先考虑一个问题? 这些测试性的压测也好,实际上的环境压测也好,最终的cpu使用情况,jvm的GC情况,在哪里看呢?rocketMq大优势可视化的界面管理1.1:在三台nameServer机器中,随便找一台机器,在里面执行命令拉取Rocket
2021-03-30 16:36:06
567
原创 RocketMQ消息中间件(五上):实战部署与Linux内核OS调优,JVM调优,MQ调优
前言别看这个标题写的夸张,实际上,跟着步骤仔细一些,稍微懂一些jvm和mq在这里相当于是外行看热闹,内行看笑话了,前面的4章一直和订单系统有关系,理论化的引出来很多东西,要用,首先要部署一个MQ,才行,循循渐进,闲话多了,开战!1.快速部署RocketMQ1.1:首先要弄一台Linux的虚拟机,这个是必备的,用net模式或者是桥接模式都可以,前提是整一台Linux虚拟机,然后安装好一个JDK,配置号JAVA_HOME,这篇文章主要以MQ为主,所以就不过多的啰嗦这个,JDK最好是安装1.8的版本;
2021-03-30 15:35:31
402
原创 Java后端面试题-生活举例理解篇 2021-03-31已更新
前言随着时间的发展,大多数毕业生陆陆续续毕业,Java的人员也越来越多,面试筛选成为一个网络热题和话题,这里有比较多的同仁私聊我,看看能不能整一份初级面试的梳理专栏,这里花两个钟大概总结一下,总结不好的地方,评论区交流,多多给出建议,共同成长1.Java基础最容易面试的几个点:1.1:面向对象首先要弄清楚三个名词:OOP(面向对象编程)、OOD(面向对象的设计)、OOA(面向对象的分析),这里可能说的就有点含糊,有点过于的专业,其实这个东西了解即可,那么举个例子,生活中的面向对象的例子:今天小王想
2021-03-28 16:21:24
1075
13
原创 RocketMQ消息中间件(四):如何设计一套高可用的消息中间件的部署?MQ的核心数据模型:Topic?生产者系统是如何将消息发送给broker的? 消费者是如何拉取消息的?MQ的整体架构四大特征
前言:前三篇文章我们一起分析了一个订单系统中的痛点,不知道到这里的时候,有没有志同道合的猿友已经联想到了一些对应的解决方案,带着问题学习,学以致用,才是最大的进步,目前所在的公司有没有链路能用上MQ消息中间件,为什么使用rocketMQ这个技术,不使用kafka等等其他的消息中间件技术,深思迟疑中,问题中成长,行动中才能生存!1.如何设计一套高可用的消息中间件的部署?1.1:NameServer集群化部署,保证mq整套系统的高可用性,nameServer的设计主要是采用peer-to-peer
2021-03-24 17:59:09
351
原创 RocketMQ消息中间件(三):rocketMQ中的broker原理?M-S数据同步方式?MQ使用的是否是读写分离机制?M/S出现宕机后有什么影响?rocketMQ4.5版本后改善了哪些东西?
前言:不断的努力,才能营造更好的未来,先来一波鸡汤灌输一下自己,以便自己的超常发挥,话不多说,鸡汤点到为止,温馨提示:如果没有事情,最晚每周二的晚上更新。1.rocketMQ中的broker原理?看到原理这两个字,基本上都眼睛冒光,头顶冒星星,其实认真点理解,多(bai)看看(du),原理也像是hello world一样简单,我们简单说一下broker原理,这里说实话,我理解的可能没有这么深入,希望能和大家在评论区交流交流!如图所示:其实这个图没有这么复杂,一看基本上就明白了,这个图都是从
2021-03-23 20:37:28
895
原创 RocketMQ消息中间件(二):MQ的理论支撑1亿QPS高并发和高可用机制?认识什么是同步机制?异步机制?MQ的好处?MQ的流量削峰?MQ高可用机制: broker主从架构以及多副本策略
前言:上一讲,以图文的方式,我们以一个订单系统举例,讲了很多可能或者是会遇到的问题,这讲我们主要先对MQ有个认识,通俗易懂的了解MQ的作用,为什么使用MQ,使用之后会发生什么?这里给出上一章的一个链接【https://blog.csdn.net/weixin_46950473/article/details/114849418】1.什么是同步机制呢?同步机制比较简单,打个简单的比方生活中的例子,一秒即可就懂了机制了,例如:我现在煮好了饭才能吃饭,不然就只能喝西北风,也就是我必须要完成这件事情,才
2021-03-17 18:09:38
2044
3
原创 RocketMQ消息中间件(一)【铺垫】全图剖析电商网站的订单系统:一个订单系统究竟有多少隐藏问题?一个bug千行泪
前言为了通俗易懂一些,消息中间件,个人的理解,就是一种传递消息的工具,例如qq,其实可以就将qq理解为消息中间件,这样看起来是不是就爽多了,当然,只是个人的理解,要是错了就将错就错,你使用qq发送了一条消息给王老五,那么你就是生产这条消息的人,那么qq就会得到你发送的这条消息,然后将这条消息发送给王老五,那么王老五就收到了你的消息“今天有没有学MQ?”,那么当王老五看到这个消息的时候,实际是是否就是消费了这条消息呢?【个人讨喜见解而已,不喜欢可以喷】电商网站中:一个订单系统引发的问题PS:图可能有
2021-03-15 20:40:00
629
6
原创 REDIS数据分布的三种算法:老土的hash+一致性圆圈定理hash+redis cluster的hash slot
前言:这个知识点其实也是了解下即可,并不需要很深的领悟,由于这几个图是现场画的,可能会有一些机制的不清晰,有兴趣的,可以一起共同讨论一下这些机制的缺点和痛点,共同进步1.redis数据分布算法一:最老土的hash·例如:来了一个key之后,计算这个hash值,然后对节点数量进行取模,这个取模是根据节点数量来定的,例如3个master节点,那么就对3取模,这里以3个master node节点举例,这个取模的结果一定是0-2之间的,小于master节点数量的,结果就比较显然就是0,1,2三个结果之
2021-03-15 20:07:15
366
原创 REDIS哨兵【Sentinel】模式+哨兵的核心知识点+redis哨兵主从切换的数据丢失问题+上一章铺垫的【异步复制数据丢失问题】+【集群脑裂】
一年一度的问题来了,为啥子要用redis的哨兵模式的呢?简单粗暴的理解下子,顺带开个玩笑,没有理解好,还望不要见笑其实redis的哨兵模式,个人理解:只是说法搞大上一点,说的不高级点,和皇帝登基道理差不多【皇帝老头挂了,太子登基,其中有几个机制就是谋权篡位了,1太子觉得皇帝老头要挂了,这就是sdown,总共有三个太子,一致认为皇帝老头子挂了就转成了odown,达成三个太子选举,三个太子需要有其中的一个太子登基成为皇帝老头】...
2021-03-13 19:50:47
389
原创 REDIS如何通过读写分离来承载读写分离来承载请求的QPS超过10万+【redis replication的核心机制】+redis主从架构的核心原理
1. redis如何通过读写分离来承载读请求的QPS超过10万+· 图文理解?学习更爽?理解更快?· 将redis缓存架构做成一主多从,主分支master node主要负责写入数据,并且将数据同步复制到其他的slavenode分支节点,其余的从分支主要负责读取请求,所有的读取数据的请求全部走从节点,也就是slave node节点【如图:redis单机支持每秒10万+QPS基本原理】从上面的图中就可以分析出来,master node主节点主要负责的是写请求,slave node分支主要负责读请
2021-03-13 16:54:23
2831
16
原创 REDIS的RDB持久化机制和AOF持久化机制的原理及知识梳理【一篇文章,深入浅出,so easy】
1.为什么redis需要使用持久化机制?· 这个一句话带过即可,redis做缓存,贼快,基于内存操作,假设现在redis中有1000w条缓存数据,一旦redis出现宕机,那么此时缓存中的数据就会基于内存全部消失,所有的请求直接打入MySQL,此时的MySQL在高并发的情况下,宕机的可能性几乎4个9;redis持久化机制恢复故障的意义如图:2.redis中的持久化机制有哪几种?分别有什么好处?这两个持久化机制应该如何选择呢?· RDB持久化机制1.RDB本身redis默认就是开启的,可以进入r
2021-03-13 14:58:15
1746
7
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人