自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 分布式微服务架构复盘:问题、方案与复杂度的递归闭环

本文从企业消费金融信贷业务出发,系统梳理微服务拆分与分布式架构的底层逻辑,构建“业务层—中间件底座”双层闭环架构体系。聚焦微服务拆分的边界原则、服务治理核心组件(如网关、注册中心、限流熔断)及分布式中间件(缓存、消息队列、存储分层)的协同机制,揭示其在解决高并发、高性能、高可用“三高”问题中的本质作用。强调每项技术方案在化解旧问题的同时引入新挑战,最终形成可复用的架构思维:以工程化手段应对分布式复杂度,实现业务解耦与系统稳定之间的动态平衡。

2026-10-24 17:33:00 311

原创 MySQL InnoDB 并发控制核心原理:事务、隔离级别、MVCC 与锁机制

本文系统解析 InnoDB 并发控制核心机制,以一致性非锁定读(快照读)与一致性锁定读(当前读)两大模型为主线,深入剖析事务 ACID、四大隔离级别、MVCC 与锁体系的协同逻辑。重点揭示可重复读(RR)下幻读的真相:虽通过固定 ReadView 与临键锁防范多数幻读,但在快照读与当前读混合场景中仍可能观测到幻读。结合时序案例与线上故障,完整梳理了高并发下数据一致性的底层原理与实战误区。

2026-10-01 15:21:44 347

原创 MySQL索引为什么必须用B+树?从磁盘IO深度推导

MySQL索引采用B+树,核心在于适配磁盘特性以降低IO开销。相比二叉树、AVL、红黑树等内存优化结构,B+树通过多路分支压低树高,减少磁盘访问次数;叶子节点双向链表支持高效范围查询与顺序读取;所有查询均定位至叶子节点,保证性能稳定可预测;且结构维护成本低,适合高并发读写。结合InnoDB 16KB页模型,B+树实现数据与目录分离,最大化单页存储容量,三层结构即可支撑亿级数据,是平衡读写、适配磁盘特性的最优解。

2026-09-29 22:37:42 308

原创 资源有限 × 请求无限:高性能网络编程的底层逻辑全解

本文揭示高性能网络架构的底层逻辑:在内存、CPU、文件句柄等资源有限的前提下,应对无限请求的核心矛盾。通过解析epoll、Reactor、多路复用等技术演进,阐明从BIO到io_uring的I/O模型迭代,以及线程隔离、连接生命周期管理等设计如何突破C10K瓶颈。最终指出,主流中间件如Netty、Redis、Kafka等共享同一套高性能骨架,本质都是为“用有限资源承载海量请求”而生。

2026-09-28 15:35:42 307

原创 Dubbo 还是 Spring Cloud?从架构本质到落地选型

微服务架构本质为“服务创建”与“服务治理”。Spring Boot 快速构建应用,而 Spring Cloud 与 Dubbo 分别代表两种治理范式:前者基于 HTTP REST,强调兼容性;后者为一体化 RPC 框架,依托强契约、TCP 长连接、二进制序列化,实现内网高性能调用。从连接模型、协议设计、序列化到线程隔离与调用链路,Dubbo 通过放弃跨语言通用性,换取极致性能,形成“对内 RPC 求性能,对外 REST 求兼容”的企业落地共识。

2026-09-27 15:36:43 590

原创 企业级微服务架构实战:基于流量工程解决大规模多环境治理难题

在微服务规模扩张至数百上千个实例、多业务线并行迭代的背景下,传统单点治理手段已无法应对环境串扰、资源成本爆炸、异步上下文丢失等系统性难题。本文从架构师视角,提出“全链路流量染色”与“公共底座轻量化多环境”两大企业级方案,通过八层技术协同——从标签透传、实例元数据、负载均衡过滤到MQ、数据库、缓存隔离,构建覆盖全链路的流量工程体系,实现物理级环境隔离与成本可控。重点解决跨环境混调、测试失真、异步失效等核心痛点,形成可落地、可观测、可兜底的闭环治理能力,适用于大型分布式系统多环境治理场景。

2026-09-25 11:41:41 282

原创 微服务高可用核心体系:南北流量治理 + 东西流量容错

本文基于南北/东西流量二分架构,重新梳理并定义整套微服务防护体系,核心分为两大独立体系:南北流量治理与东西流量容错。南北流量治理面向外部进入集群的入口请求,属于事前防御,通过限流、热点参数限流、链路限流、流量整形、灰度、蓝绿、流量镜像、流量染色等能力,管控流量规模与形态,保护服务自身不被大流量击穿;东西流量容错面向微服务之间的横向RPC调用,属于事中止损,通过重试、舱壁隔离、超时控制、熔断、降级实现资源隔离与故障兜底,阻断下游异常向上传播。

2026-09-24 16:42:04 161

原创 分布式事务全套原理:从本地事务底层推导出分布式事务、Spring传播、Seata四大模式、2PC脑裂、内外一致性完整闭环

本文从本地事务边界出发,推导分布式事务诞生逻辑,系统解析Seata AT/TCC/XA/Saga四大模式的适用场景与核心瓶颈。重点区分“对内可控”与“对外不可控”一致性体系,剖析Spring事务传播机制、2PC脑裂、幂等设计、正逆向补偿及日终对账等关键问题,提出“可控靠框架强一致,不可控靠业务补一致”的工程原则,构建完整数据一致性知识闭环。

2026-09-23 17:57:40 254

原创 吃透Spring SPI底层:从JDK SPI缺陷到SpringBoot自动装配原理

很多人学不懂 SpringBoot 自动装配,本质是没吃透 SPI 思想。本文从 JDK 原生 SPI 的底层缺陷讲起,深入剖析 Spring 自研 SpringFactoriesLoader 的全局缓存、类加载隔离、反射实例化、@Order 排序等核心机制,附完整实战代码、源码级执行流程、SpringBoot 2.7 版本变更及常见踩坑,一文打通 SPI 与自动装配底层原理。

2026-09-21 15:33:46 145

原创 Spring Boot 启动宏观架构:容器前后两段式模型与后置处理器全细节

本文提出一套宏观分层模型,将SpringBoot启动流程划分为“容器启动前”与“容器启动后”两大阶段,以“是否实例化Bean”为分界线,清晰拆解为元数据处理(new前)与实例对象处理(new后)两部分。该模型统一解释配置加载、包扫描、自动配置、@Conditional、@Lazy、AOP代理、循环依赖等核心机制,揭示后置处理器的执行顺序与职责边界,帮助开发者从源码迷宫中跳出,构建完整逻辑链,实现对Spring底层设计思想的深度理解。

2026-09-21 10:34:24 443

原创 Java 代码增强全套体系:代理、AOP、Agent、字节码

Java代码增强仅两种核心方案:包装式增强(如SpringAOP、动态代理,不改原字节码,生成代理类)与原地字节码增强(如AspectJ、JavaAgent,直接修改原类字节码)。SpringAOP借用AspectJ语法但底层为动态代理,存在this调用失效与切点限制;而AspectJ及Agent实现真正字节码级增强,支持静态方法、字段、构造器拦截,无代理缺陷。本质区别在于是否修改原类字节码。

2026-09-16 20:38:59 367

原创 线上JVM排查完整流程

告警触发后,优先保障业务可用性,隔离故障实例并保留现场(jstack、堆dump),避免盲目重启。通过top宏观区分故障类型:CPU高、内存异常或线程阻塞。CPU高则定位高占用线程,排查死循环或频繁GC;内存问题结合jstat与堆dump分析泄漏或配置不足;RT高但CPU低时,检查锁竞争、慢SQL或外部依赖。使用Arthas在线诊断可规避STW风险。根因验证后灰度修复,复盘优化监控。核心原则:先保业务,再留现场;先宏观,后微观。

2026-09-16 11:14:28 292

原创 HotSpot JVM 完整知识体系:原理详解与生产实践

本文整合全套HotSpot JVM核心知识点,涵盖JVM内存模型、对象结构、四大引用、类加载机制、字节码、垃圾回收底层原理、全系GC收集器、三色标记与屏障机制、JIT编译、线上诊断工具、GC日志分析、JVM调优方法论,同时汇总企业生产选型方案与高频面试坑点,形成完整JVM知识闭环,可直接用于学习、面试复习、技术博客发布及工作参考。强引用:存则不回收;软引用:内存不足才回收;弱引用:逢GC必回收;虚引用:仅做回收通知。分代收集是HotSpot JVM数十年的核心设计,适配绝大多数互联网业务的对象生命周期特性。

2026-09-15 23:08:37 443

原创 Java 并发:锁体系完整原理剖析

本文整合所有Java单机锁核心知识点,彻底打通synchronized 锁升级体系AQS&ReentrantLock 锁体系线程阻塞/等待底层原理中断机制差异化表现JVM线程状态与OS内核状态映射五大核心难点,新增Condition条件队列、读写锁、CAS与乐观锁、分布式锁四大板块,解决绝大多数开发者混淆的锁阻塞、休眠、唤醒、中断问题,完全适配深度进阶学习。JVM内置锁体系:synchronized + wait/notify,底层由JVM维护,无需手动操作Java层代码锁体系。

2026-09-13 11:55:17 324

原创 并发底层世界观:Java 并发问题的完整来源

Java并发没有任何神秘bug,所有问题,全部来自三层底层不确定性,自上而下层层放大,最终形成我们开发中遇到的原子性、可见性、有序性、线程竞态、信号丢失等所有并发问题。硬件层:多核CPU缓存架构 + CPU指令乱序执行系统层:操作系统抢占式线程调度(核心终极根源)软件层:JIT编译器指令重排优化,全部都是为了屏蔽这三层不确定性,人为给混乱的并发执行建立有序规则。所有并发异常,本质都是三层底层不确定性,导致JMM三大核心特性被破坏:缺失特性底层根源现象解决方案原子性缺失。

2026-09-13 08:17:53 345

原创 一文打尽 JMM:Java内存模型全套笔记

JMM 全称 Java Memory Model(Java 内存模型),是 JVM 官方定义的一套抽象内存规范、并发内存语义标准,并非真实的内存结构。JMM 的核心作用:屏蔽不同硬件(x86、ARM)、不同操作系统的内存差异,统一规范 Java 多线程的内存行为,专门解决多线程并发编程的三大核心问题:可见性、原子性、有序性。核心前提: 单线程环境下,JMM 的所有问题都不会暴露,程序执行完全符合代码逻辑。所有 Java 并发 Bug,本质都是多线程共享变量交互引发的,全部由 JMM 三大特性缺失导致。

2026-09-07 22:46:10 364

原创 Java 的本质:让人更像人,让机器更像机器

很多人学 Java,学的是语法、框架、八股文。

2026-08-24 00:46:09 221

原创 SpringBoot源码解析

SpringBoot,顾名思义,关键在于,Boot在计算机领域中拥有,尽可能的简单快速高效地开发、部署和运行Spring应用程序,把开发者从各种纷繁复杂的XML配置和依赖管理中解放出来,使开发者能够全身心投入到业务逻辑代码的编写中,从而大大提高了开发效率,一定程度上缩短项目周期。现如今架构是"新常态",微服务使得不同团队专注于更小范围的业务领域,构建小型随时可运行的成千上万的应用程序更是成为微服务必须首先解决的问题,SpringBoot恰好为微服务框架的使用提供了更好的脚手架工具。

2024-03-24 22:00:50 967

空空如也

空空如也

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

TA关注的人

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