Posts
All the articles I've posted.
-
Spring循环依赖——三级缓存的精妙设计
逐层剖析 Spring 三级缓存解决循环依赖的精妙设计——一级存成品、二级暴露半成品打破循环、三级用 ObjectFactory 延迟生成代理保证 AOP 代理唯一性,以及构造器注入为何无解。
-
Spring IoC容器——BeanDefinition到Bean实例的完整旅程
从 BeanDefinition 到 Bean 实例的完整旅程——解析配置生成元数据、BFPP 修改配方、反射实例化、依赖注入、BPP 链处理与 AOP 代理生成,理清 BFPP 与 BPP 的阶段性分离设计。
-
Spring AOP——JDK动态代理和CGLIB的核心区别
对比 JDK 动态代理与 CGLIB 的底层机制——JDK 依赖接口+反射调用,CGLIB 通过子类+FastClass 索引实现非反射调用,Spring Boot 2.x 为何强制默认 CGLIB。
-
RocketMQ延时消息的底层实现
揭开 RocketMQ 延时消息底层实现——Broker 拦截后存入 SCHEDULE_TOPIC_XXXX 内部 Topic,ScheduleMessageService 每秒轮询到期消息恢复投递,引起约 1 秒精度偏差。
-
RocketMQ 顺序消费:从队列路由到线程绑定的完整链路
梳理 RocketMQ 顺序消费的三环接力——生产者取模路由到同一队列、Broker FIFO 存储、Consumer 分布式锁+单线程绑定,以及 SUSPEND_CURRENT_QUEUE_A_MOMENT 的可靠性设计。
-
RocketMQ 消息领域模型:Topic、Tag、MessageQueue、Group 与 Offset 的层次设计
逐层拆解 RocketMQ 五层领域模型——Topic 命名空间、Tag 二级分类、MessageQueue 物理队列、ConsumerGroup 逻辑分组与 Offset 64 位指针,纠正七个常见误解。
-
RocketMQ 消息过滤:Tag 过滤、SQL92 表达式与过滤原理
解析 RocketMQ 三级过滤漏斗——Tag 哈希在 ConsumeQueue 层 O(1)过滤不读磁盘,SQL92 表达式需读 CommitLog 但有灵活性,消费端二次过滤作为最后防线防哈希冲突。
-
RocketMQ 消息积压处理:监控、流控、扩容与 DLQ 的全链路方案
消息积压从发现到消除的全链路方案——监控指标与告警阈值、生产者流控止血、消费端扩缩容与批量优化、DLQ 兜底毒消息,以及基于 Lag 的 K8s 自动弹性伸缩。