线上一次JVM FullGC搞得整晚都没睡,彻底崩溃~

2023-11-15

V-xin:ruyuanhadeng获得600+页原创精品文章汇总PDF

这篇文章给大家聊一次线上生产系统事故的解决经历,其背后代表的是线上生产系统的JVM FullGC可能引发的严重故障。

一、业务场景介绍

先简单说说线上生产系统的一个背景,因为仅仅是文章作为案例来讲,所以弱化大量的业务背景。

简单来说,这是一套分布式系统,系统A需要将一个非常核心以及关键的数据通过网络请求,传输给另外一个系统B。

所以这里其实就考虑到了一个问题,如果系统A刚刚将核心数据传递给了系统B,结果系统B莫名其妙宕机了,岂不是会导致数据丢失?

所以在这个分布式系统的架构设计中,采取了非常经典的一个Quorum算法

这个算法简单来说,就是系统B必须要部署奇数个节点,比如说至少部署3台机器,或者是5台机器,7台机器,类似这样子。

然后系统A每次传输一个数据给系统,都必须要对系统B部署的全部机器都发送请求,将一份数据传输给系统B部署的所有机器。

要判定系统A对系统B的一次数据写是成功的,要求系统A必须在指定时间范围内对超过Quorum数量的系统B所在机器传输成功。

举个例子,假设系统B部署了3台机器,那么他的Quorum数量就是:3 / 2 + 1 = 2,也就是说系统B的Quorum数量就是:所有机器数量 / 2 + 1。

所以系统A要判定一个核心数据是否写成功,如果系统B一共部署了3台机器的话,那么系统A必须在指定时间内收到2台系统B所在机器返回的写成功的响应。

此时系统A才能认

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

线上一次JVM FullGC搞得整晚都没睡,彻底崩溃~ 的相关文章

随机推荐

  • c语言发牌小程序

    include
  • Windows 2003 Server远程代码执行漏洞集合

    目录 MS08 067 CVE 2017 7269 MS08 067 发布日期 2008 10 22 针对端口 139 445 漏洞等级 高危 漏洞影响 服务器服务中的漏洞可能允许远程执行代码 受影响的操作系统 Windows 2000 X
  • nginx关键字

    对关键字的解释会慢慢加上 master进程 worker进程 pass proxy core Nginx c daemon master process timer resolution pid lock file worker proce
  • 如何正确使用示波器的温度延长线扩展功能

    电子产品的信号测试验证过程中 不可避免地 需要进行高低温工况下的信号完整性测试 但是 目前的高速有源探头的工作温度范围有限不足以直接使用 为此 诸如泰克 是德科技等仪器公司 都有相对应的测试解决方案 基本采用的是 焊接前端 温度延长线 有源
  • 图论17(Leetcode864.获取所有钥匙的最短路径)

    用二进制表示获得的钥匙 假设n 钥匙个数 000000000代表没有钥匙 0000000001代表有idx为1的钥匙 0000000011代表有idx 1 2的钥匙 这方法巧妙又复杂 代码 class Solution static int
  • 补码的求法

    补码 源码取反再加一 eg CAN通信的一部分 1024对应0xfcc 第一种方法 1024二进制 0000010000000000 注意数据类型 需要加上0 取反 1111101111111111 加一 1111110000000000
  • Base64编码相关知识总结

    Base64编码是什么 Base64 顾名思义 就是包括小写字母a z 大写字母A Z 数字0 9 符号 一共64个字符的字符集 另加一个 实际是65个字符 任何符号都可以转换成这个字符集中的字符 这个转换过程就叫做base64编码 Bas
  • jdbc的内容以及如何在5秒钟后自动跳转到login.html页面

    首先 在5秒钟之后跳转到login html 最初的解决方法 try Thread sleep 5000 response sendRedirect login html catch Exception e e printStackTrac
  • STM32 GPIO |CSDN创作打卡

    GPIO结构框图 推挽输出 0 3 3 在该结构中输入高电平时 上方的P MOS导通 下方的N MOS截止 对外输出高电平 而在该结构中输入低电平时 N MOS管导通 P MOS截止 对外输出低电平 当引脚高低电平切换时 两个管子轮流导通
  • 如何下载b站视频到本地

    传送门 转载于 https www cnblogs com yaoling1997 p 10793366 html
  • assert()理解

    源自一道CTF题 理解全部写在注释里面 if isset GET page page GET page else page home file templates page php I heard is dangerous strpos通过
  • JAVA中字符串长度和(字符串)数组长度的函数【string.length和string.length()】

    字符串数组strs 获取数组的长度是利用数组的属性length 所以就是 strs length 字符串strs 获取长度的话是调用strs length 方法 字符串长度 字符串数组长度 字符串数组的长度的 因为任意的数组都有length
  • 五十七.斐波那契数列JAVA

    public class Main public static int fibonacci int n if n 0 n 1 return n else return fibonacci n 1 fibonacci n 2 public s
  • 2021-07-01

    2021年已经过去七个月了 学习目标 把vue element echarts给撸下来 学习内容 7 1 7 4 学习 Echarts 7 5 7 11 学习封装router 7 12 7 18 学习如何部署网站到gitee 7 19 7
  • 对象池学习

    概念 为了避免大量创建 构造 对象 销毁 析构 对象带的性能开销 设计 对象队列 初始化时 指定队列长度 出队 入队操作需要加锁保护 对象的构造 在初始化对象池时构造好 对象并不是一开始全部构造好 而是在获取对象的过程中构造 构造之后便保存
  • Linux平台下安全编译

    1 操作系统的软件堆栈 内存映射等区域配置 mmap vdso页 共享库等 实现方式 修改操作系统文件 proc sys kernel randomize va space 内容改为2 原因 ASLR针对缓冲区溢出攻击 此处将堆栈 共享库映
  • jsp体质表_国家学生体质健康网数据上报平台:http://www.csh.edu.cn/MOETC/index.jsp

    国家学生体质健康网数据上报平台即 国家学生体质健康标准数据管理分析系统 数据上报流程 1 登录中国学生体质健康网 www csh edu cn 进行上报学校网上登记并下载验证文件 ebm 2 使用国家数据库上报软件进行数据上报 3 登录中国
  • Java面向对象(基础)

    面向对象内容的三条主线 Java类及类的成员 重点 属性 方法 构造器 熟悉 代码块 内部类 面向对象的特征 封装 继承 多态 抽象 其他关键字的使用 this super package import static final inter
  • springboot启动报错 Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded 。。

    一 错误如下 二 错误的原因 项目启动是出现该错误的原因 SpringBoot SpringBootApplication该注释会有数据库的自动配置 但在项目配置文件中没有找到相关的配置导致的 三 解决方法 如果是配置错误修改配置就可以 如
  • 线上一次JVM FullGC搞得整晚都没睡,彻底崩溃~

    V xin ruyuanhadeng获得600 页原创精品文章汇总PDF 这篇文章给大家聊一次线上生产系统事故的解决经历 其背后代表的是线上生产系统的JVM FullGC可能引发的严重故障 一 业务场景介绍 先简单说说线上生产系统的一个背景