楼上有只喵
  • 首页
  • 归档
  • 分类
  • 标签
  •   
  •   

场景题

Here's something encrypted, password is required to continue reading.
2024-08-25

分布式锁

[TOC] 1 什么是分布式锁在单体的应用开发场景中涉及并发同步的时候,大家往往采用Synchronized(同步)或者其他同一个JVM内Lock机制来解决多线程间的同步问题。 在分布式集群工作的开发场景中,就需要一种更加高级的锁机制来处理跨机器的进程之间的数据同步问题,这种跨机器的锁就是分布式锁。 2 分布式锁的实现分布式锁的核心是实现多进程之间互斥,而满足这一点的方式有很多,常见的有三种:
2024-08-01

CAP原则以及eureka和zookeeper的对比

1 CAP理论是什么?CAP即: Consistency(一致性):对于客户端的每次读操作,要么读到的是最新的数据,要么读取失败,返回一个错误或超时,其强调的是数据正确。 Availability(可用性):任何客户端的请求都能得到响应数据,不会出现响应错误,但不保证数据最新,强调的是不出错。比如我们购买商品时,他的点赞数就与购买商品无关,我们可以允许他不是最新的。 Partition tole
2024-07-21
微服务
#分布式 #CAP原则 #eureka

类加载机制的深度解析

1. 类加载运行全过程当我们用java命令运行某个类的main函数启动程序时,首先需要通过类加载器把主类加载到 JVM。 有如下几步: 加载 >> 验证 >> 准备 >> 解析 >> 初始化 >> 使用 >> 卸载 加载: 通过类的全限定名获取其二进制字节流:可以从本地文件系统、网络或其他来源获取字节码。 将字节流转换为
2024-07-14
JVM
#类加载机制

记录由于数据库用户权限导致的一次线上事故

1. 背景 11.3 生产环境和用户查询相关的功能,都报错could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet ELK查询原因,Caused by: org.postgresql
2024-07-07
数据库
#线上事故

JVM调优案例

1. 案例一 ——测试环境服务异常挂掉1. 问题测试环境服务异常挂掉 2. 排查步骤查看操作系统日志,发现发生了OOM,操作系统的OOM KIiller 机制 将Java进程杀掉了(使用命令 egrep -i 'Out of memory' /var/log/messages) [root@sith-mom-test-node deploy]# egrep -i ‘Out of
2024-07-04
JVM
#性能调优

xxlJob使用

1. 任务调度1. 什么是任务调度任务调度是为了自动完成特定任务,在约定的特定时刻去执行任务的过程。 2. 什么场景会需要任务调度 某电商平台需要每天上午10点,下午3点,晚上8点发放一批优惠券 某银行系统需要在信用卡到期还款日的前3天进行短信提醒 某财务系统需要每天凌晨结算前一天的财务数据 2. 分布式任务调度1. 什么是分布式任务调度采用分布式架构,一个服务往往会部署多个冗余实例来运行我们的
2024-07-04

pgsql

1. pgsql的优势1. 开源和社区支持 开源:PostgreSQL 是完全开源的,无需支付许可费用。 活跃的社区:有一个活跃的社区提供支持和开发,不断改进和更新功能。 2. 强大的功能集 ACID 合规:完全遵循 ACID 原则,确保数据的可靠性和一致性。 高级 SQL 功能:支持复杂查询、子查询、窗口函数、CTE(Common Table Expressions)等。 并发控制:使用多版本
2024-07-03

内存泄漏和内存溢出

1.内存泄漏 (Memory Leak)1. 定义 内存泄漏是指程序未能释放已经不再使用的内存,从而导致内存资源被浪费。尽管这些内存不再被程序使用,但由于程序仍然持有对它们的引用,垃圾收集器无法回收它们。 2. 症状: 随着时间推移,程序占用的内存不断增加。 程序可能在长时间运行后变得越来越慢。 最终可能导致内存溢出错误(OutOfMemoryError)。 3. 原因: 忘记移除不再使用的对象
2024-06-13
JVM

RabbitMQ的消息零丢失方案

RabbitMQ如何保证消息的可靠性?哪些环节会有丢消息的可能? 普通消息处理流程 消息生成者发送消息 MQ收到消息,将消息进行存储(持久化到硬盘)。 返回ACK给生产者 MQ push 消息给对应的消费者,然后等待消费者返回ACK 如果消息消费者在指定时间内成功返回ack,那么MQ认为消息消费成功,在存储中删除消息,即执行第6步;如果MQ在指定时间内没有收到ACK,则认为消息消费失败,会尝试重新
2024-06-13
RabbitMQ
#MQ #消息可靠性
1…45678…28

搜索

Hexo Fluid
总访问量 次 总访客数 人