周会上被问住了 6 月底的架构周会,组里一个同学问:"Spring 官方和 DeepSeek 合作之后,我们要不要把模型调用层切到官方 starter?" 我当时答不上来。这两年"XX 与 XX 达成合作"的新闻太多了,大部分最后落在 PPT 上。我没有花时间验证过,就不能在会上拍板,于是给自己派了
「Spring 是不是被 AI 时代落下了」 上个月团队里一个工作两年的同学问我:现在大家都在聊 LangChain、LlamaIndex、各种 Agent 框架,Spring 在这些话题里几乎不出现,是不是已经过时了? 这个问题我这两年听过很多次。我当时没直接回答,让他去看看 spring-ai
用 WebFlux 四年,年底我把它重写了 2021 年我们做实时风控服务,选了 Spring WebFlux。当时的理由很充分:QPS 目标 2 万、需要背压、团队想试试响应式。四年过去了,这个服务一直在线上跑,但我对它的评价从"技术先进"变成了"维护负担"。 今年 10 月我用 JDK 21 虚
订单系统里,一个下单成功事件要同时触发:发短信、更新统计、同步搜索索引、通知风控。一开始我用 @TransactionalEventListener 在一个方法里全干了,结果短信接口抖一下,整个下单事务被拖慢。这种"一个事件多个消费者"的场景,正是 Spring Integration 的主场。 消
为了启动快,走上 GraalVM 原生镜像 FaaS 场景下单实例冷启动 4 秒太慢,用户第一次请求要等很久。我们想用 GraalVM 把订单服务编译成原生镜像,目标启动 50ms 内。Spring Boot 3 的 AOT 引擎能提前做大部分 Bean 的初始化分析,理论上开箱即用。可一上来就卡在
一个偶发的空指针 服务启动时偶发 NPE,堆栈指向缓存预热器里取到的 RedisTemplate 是 null。但 RedisTemplate 明明配好了——问题是它被用在了配置类的 @PostConstruct 里,而那时它依赖的连接工厂还没就绪。重启三四次才复现一次,最磨人。这种"时灵时不灵"的
下单接口越来越慢 createOrder 接口 RT 一度到了 800ms,点进去一看,主链路里塞了发短信、记风控、推积分三件"顺带"的事。它们慢一点,用户下单就卡一下。最糟的是,积分服务抖动时连下单都失败了,核心链路被旁路拖死。监控里下单 RT 的 P99 曲线和积分服务的 RT 曲线几乎同涨同落
面试被问:REQUIRES_NEW 到底开了几个连接 前阵子面一个五年经验的候选人,我随口问:"方法 A 用 REQUIRED 调方法 B,B 用 REQUIRES_NEW,这俩用的是同一个数据库连接吗?"对方答"应该是同一个吧,都在一个事务里"。这其实是个很常见的误解。REQUIRES_NEW 会
同事的提问:改成构造器注入就启动失败了 11 月初,组里在推"统一用构造器注入",小杨改完一个服务发现起不来了: org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with
同事的问题:我加了 @Cacheable,为什么没生效 上周三下午,组里的小杨问我:"我在方法上加了 @Cacheable,压了 100 次,数据库慢查询日志里还是 100 条,Redis 里也看不到 key,是不是缓存没配好?" 我过去看了一眼他的代码: @Service public class