自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 分布式事务Seata-核心问题

Seata三大组件的协作流程本地事务和分支事务的关联分支事务中如何保证数据一致性TC如何收集分支事务的状态Seata四种分布式事务模式TCC模式在业务中如何实现?如何确保Confirm和Cancel阶段的幂等性Seata框架如何内置重试补偿机制

2025-05-23 13:58:53 480

原创 docker安装指令

docker安装指令

2025-05-19 17:24:02 76

原创 sentinel核心原理-高频问题

本文详细介绍了限流实现机制中的滑动窗口算法、责任链模式和熔断降级策略,以及QPS限流、并发线程数限流和冷启动规则的实现原理。滑动窗口算法通过动态统计QPS避免固定窗口的边界问题,责任链模式通过Slot链式处理限流逻辑,熔断降级策略则基于慢调用比例和异常

2025-05-19 16:18:50 1161

原创 如何提高redis缓存命中率

提高缓存命中率的核心目标是通过策略优化、数据预判和资源管理,最大化从缓存获取有效数据的概率

2025-05-16 15:44:17 407

原创 分布式系统架构设计必须考虑的因素-数据库设计

数据库工程架构设计,必须考虑什么?怎样提高读性能

2025-05-15 12:52:35 364

原创 分布式系统架构设计必须考虑的因素-负载均衡

分布式系统架构设计必须考虑的因素-负载均衡

2025-05-15 09:00:18 251

原创 微服务如何实现服务的高并发

分布式系统架构设计必须的考虑因素-高并发

2025-05-15 08:47:11 397

原创 微服务如何实现服务的高可用

微服务实现高可用主要依赖于集群冗余和故障自动转移机制。具体方案包括:客户端到反向代理的高可用通过Keepalived+VIP实现虚拟IP漂移;反向代理到站点应用的高可用通过Nginx的负载均衡和故障转移实现;站点应用到微服务的高可用通过连接池技术、熔断限流等实现;微服务到缓存的高可用通过分层缓存架构和RedisCluster实现;微服务到写库的高可用通过双主或主从+keepalived实现自动故障转移;微服务到读库的高可用通过读写分离和自动故障转移实现。这些方案共同确保了微服务系统的高可用性和高并发处理能力

2025-05-14 10:38:32 784

原创 windows 强行终止进程,根据端口号

右键点击开始菜单 → 选择 ‌。

2025-05-13 17:01:44 143

原创 微服务,服务粒度多少合适

项目服务化通过提高代码复用性、专注性、解耦合、高质量、易扩展和高效率,显著提升了系统开发和维护的效率。微服务拆分策略建议统一服务层,按子业务、库或接口划分服务,优先采用领域驱动设计(DDD)划分服务边界。在实践场景中,拆分单体系统应识别核心业务链路,优先拆分高频变更模块,并逐步演进。服务粒度的权衡需考虑性能需求和业务复杂度。技术实现上,保证数据一致性可采用Saga模式和最终一致性策略,服务通信设计则建议外部标准化使用RESTful API,内部高性能通信使用gRPC/Dubbo。

2025-05-13 14:19:43 489

原创 如何保证Session的一致性

如何保证Session的一致性

2025-05-09 15:45:59 134

原创 拦截器(HandlerInterceptor)中获取请求参数

拦截器(HandlerInterceptor)中获取请求参数HttpServletRequestWrapper

2025-05-08 15:04:18 540

原创 接入层架构演变

(1)单体架构,要解决性能扩展问题,早期,使用DNS轮询架构;(2)现在,可以使用nginx反向代理架构;(3)反向代理,不高可用,需要进一步升级为高可用反向代理架构;(4)高可用反向代理,扩充性能,可以使用多级(LVS&F5)反向代理架构;(5)多级反向代理架构,扩充到无限性能,使用DNS轮询架构;(6) DNS轮询,解决性能扩展问题;VIP+keepalived,解决高可用问题;

2025-04-29 21:07:56 450

原创 分布式事务-Seata

二是框架在JDBC层拦截SQL,自动记录数据变更前后的快照,回滚时用这些快照生成逆向SQL,完全无需业务干预。2、在不改变任何配置文件下,在bin文件夹下就可以直接启动。这样就可以使用了,一下是启动指令,如果seata安装地址在本地可以不知道ip地址(省去 -h <ip地址> )6、到此安装配置成功,在bin文件夹下 执行启动指令 ./seata-server.sh -h <ip地址> -port 8091。4、到nacos添加相关配置文件,文件名保持和上图标注的一样,一下是配置的相关信息。

2025-04-28 13:40:51 799

原创 开发遇到的问题-编译报错

发现maven使用的是jdk1.8.这边没有改过来。jdk8升级到jdk17:编译的时候报以下错误。查看mvn对应的使用jdk版本。

2025-04-11 17:23:08 292

原创 Linux 安装 Nacos

3、进入到所在安装路径(/usr/local/nacos/bin/)进行更改启动文件。4、手动创建数据库库,数据库名称如配置文件中所配置的,并执行config的SQL文件。4、进入配置文件夹修改配置文件(/usr/local/nacos/conf/)2、将安装包放在安装路径下,我所放的路径/usr/local/,使用。linux版本cenos7 ,nocos版本2.2.1。

2025-04-10 10:33:55 1124

原创 Windows版-RabbitMQ自动化部署

一键完成Erlang环境变量配置(ERLANG_HOME系统变量)‌。一键完成RabbitMQ环境变量配置(RabbitMQ系统变量)‌。自动化部署脚本(install_rabbitmq_v12.ps1)1、如果登入的时候,出现下面这个,需要把旧的默认管理员删除。执行上述脚本如果出现以下日志代表安装成功。实现快速安装部署RabbitMQ。

2025-04-08 14:33:48 301

原创 SpringBoot原理-refresh源码解析

refresh源码解析,触发时机,执行流程

2025-03-27 13:58:28 978

原创 SpringBoot启动原理-ApplicationListener

监听器干嘛用的?事件类型有哪些?监听器执行时机是什么时候?底层原理是怎么实现的?是否使用了设计模式,如果使用了,都有哪些角色?监听器实现方式?监听器应用场景

2025-03-24 10:58:21 963

原创 SpringBoot启动原理-ApplicationContextInitializer

ApplicationContextInitializer为什么需要这个接口初始化器如何初始化,作用是什么,执行时机

2025-03-21 13:59:02 695

原创 SpringBoot启动原理

Spring Boot 的启动流程可以概括为:通过 `SpringApplication.run()` 初始化应用上下文,加载自动配置类,并启动内嵌 Web 服务器。核心机制包括:- @SpringBootApplication 注解组合了配置、组件扫描和自动配置;- 自动配置通过条件注解按需加载 Bean,依赖 `spring.factories` 定义;- Starter 简化依赖管理,内嵌容器实现开箱即用。实际开发中,可以通过优化组件扫描范围、禁用非必要配置、懒加载等方式提升启动速度。

2025-03-17 14:04:09 818

原创 Spring中AOP实现原理

AOP实现原理 核心概念,使用场景

2024-10-29 00:27:16 750

原创 Spring中IOC底层实现

BeanDefinition的创建;Bean的创建过程

2024-10-28 23:56:27 597

原创 Spring事务

事务的原理

2024-10-28 23:01:54 643

原创 Spring循环依赖解决方案

由上面推断 initializeBean 的时候记录缓存,在循环依赖的情况,需要在 populateBean(第二阶段) 的时候再去注入循环依赖的 bean,此时,缓存中是没有循环依赖的 bean 的,就会导致 bean 重新创建实例。如果被循环依赖的 bean 是一个 AOP 增强的代理 bean 的话,bean 的原始引用和最终产生的 AOP 增强 bean 的引用是不一样的,一级缓存就搞不定了。只有碰到 AOP 代理 bean 被循环依赖时的场景,才去特殊处理,提前生成 AOP 代理 bean。

2024-10-16 14:41:42 880 2

原创 SQL底层执行过程

SQL底层执行过程,INNODB,二阶段提交

2024-04-28 22:44:07 1042

原创 MYSQL日志底层实现

undo日志,redo日志,binlog日志底层实现,存储机制,写入机制

2024-04-28 22:40:52 901

原创 springboot的jar包升级,导致接口404

springboot的jar包升级,导致接口404

2024-04-25 11:04:42 372

原创 JVM调优

JVM调优思路、CPU飙高的排查思路、内存飙高排查思路

2024-04-23 21:42:13 848 1

原创 jvm类加载过程,对象创建过程

类加载过程,对象创建过程,双亲委派机制,分配内存方式

2024-04-17 23:55:40 1034

原创 jvm 垃圾回收器

jvm 垃圾回收器,三色标记算法,面试题

2024-04-17 09:31:45 982

原创 JVM内存结构--堆

堆的组成,面试题,jvm,逃逸分析

2024-04-15 21:44:51 1120

原创 线程池详解

线程池创建方式,线程池参数,执行流程,常用方法,常用队列对比,面试题

2024-04-15 00:01:35 1196

原创 Java并发包提供了哪些并发工具类

我们通常所说的并发包也就是JUC及其子包,集中了 Java 并发的各种基础工具类,具体主要包括几个方面:提供了比 synchronized 更加高级的各种同步结构,包括 CountDownLatch、CyclicBarrier、Semaphore 等,可以实现更加丰富的多线程操作,比如利用 Semaphore 作为资源控制器,限制同时进行工作的线程数量。

2024-04-09 22:23:28 241

原创 线程生命周期状态转换

线程生命周期转换 sleep() 和yield()区别

2024-04-09 08:23:16 768

原创 JUC同步器特点及应用场景

Semaphore 、CountDownLatch、CyclicBarrier、Exchanger

2024-04-08 15:41:15 392

原创 ReentrantLock底层原理

ReentrantLock工作原理,加锁和释放锁过程。重入锁 公平锁 可中断

2024-04-08 13:14:13 856

原创 synchronized锁升级原理

synchronized锁升级的过程,原理。 轻量级锁、偏向锁、重量级锁

2024-04-02 00:26:52 299

原创 内存溢出的产生和解决方案

什么是内存溢出,怎样解决内存溢出

2024-04-01 23:07:38 1439

原创 什么情况下Java程序会产生死锁?如何定位、修复?

死锁定位,死锁解决方案,jconsole ,jstack

2024-03-21 13:24:39 1165 1

windows-rabbitmq 自动化部署脚本

windows-rabbitmq 自动化部署脚本

2025-04-10

Windows版+RabbitMQ安装包+自动化安装部署脚本

一键完成Erlang环境变量配置(ERLANG_HOME系统变量)‌ 一键完成RabbitMQ环境变量配置(RabbitMQ系统变量)‌ 实现快速安装部署RabbitMQ

2025-04-08

SpringBoot整合MongoDB测试demo

Springboot整合MongoDB,包含Mongo的工具类以及测试类,只需配置自己的mongodb地址,开箱即用

2023-02-15

yum相关安装包-linux系统

linux安装yum所需安装包 yum-3.4.3-168.el7.centos.noarch.rpm yum-cron-3.4.3-168.el7.centos.noarch.rpm yum-metadata-parser-1.1.4-10.el7.x86_64.rpm yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm

2023-02-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除