Spring Boot 3.5 + Java 25 微服务下,记录我如何用一个共享 starter 统一出站 HTTP 客户端的身份传播、错误语义、可观测性和弹性。
Posts for: #java25
Spring Boot 3.5 下的数据库设置:HikariCP 调优、N+1 防护、事务管理与 Testcontainers 集成
数据库通常是微服务里比较关键的依赖之一,这套仓库在它身上花的心思集中在 HikariCP 连接池调优、open-in-view: false、@EntityGraph 防 N+1、@Transactional 传播行为、Testcontainers @ServiceConnection 和 Flyway 进阶实践。
Spring Boot 3.5 下的 Redis 用法:Lettuce 连接池、Redisson 锁、Bloom Filter 与 Lua 加载
Redis 在 Shop Platform 里同时承担缓存、限流、分布式锁、Bloom Filter 和 Lua 原子操作,对应要配的是 Lettuce 连接池、序列化策略、Redisson 锁、Bloom Filter 自动配置和 Lua 脚本加载方式。
Spring Boot 3.5 下的 Kafka 配置:消费者并发模型、acks/retries、序列化选型与 DLQ
Spring Boot 3.5 加 Spring Kafka 3.3 把 Kafka 该配的基本都配得起来,这套仓库落地的是消费者并发模型、生产者的 acks 与 retries、序列化选型、offset 提交策略、死信处理和 @RetryableTopic。
Spring Boot 微服务中的 Feature Toggle 实战:OpenFeature Property Provider + K8s ConfigMap 热更新
微服务里的 Feature Toggle 走 OpenFeature SDK,开关语义与供应商解耦。shop 项目这条链路是 Property Provider 从 Spring Config 读 flag,K8s ConfigMap 挂载加 Configuration Watcher 触发热更新,再从静态 YAML 往生产级动态管理演进。
Spring Boot 3.5 接 OpenTelemetry:尽量少写手动接入,把四个信号串起来(2026)
基于当前项目的一次接入记录,整理 Spring Boot 3.5 + Java 25 下接入 OpenTelemetry 的一些做法:尽量依赖自动配置、启用虚拟线程、结合 JFR 持续性能分析,并把 Traces / Metrics / Logs / Profiles 串起来。
Spring Boot 3.5 的 h2c 会不会比 HTTP/1.1 快:两个压测实验的结论
围绕 Spring Boot 3.5、JDK HttpClient 和 h2c,我做了一次完整压测:先观察 h2c 不会天然更快,再设计一个 0 错误的正例,展示它在特定场景下为什么会比 HTTP/1.1 更占优。
Spring Boot 3.5 + Java 25 + Cloud Native 系列(七):架构 Quality Gates
架构约束很难只靠 Code Review 口头约定。Shop Platform 这边的护栏是 19 条 ArchUnit 规则、6 个 Maven Archetype、WireMock contract testing 和 API 路径版本化校验。
Spring Boot 3.5 + Java 25 + Cloud Native 系列(六):插件化活动引擎
activity-service 是一个插件化的互动游戏引擎,支撑砸金蛋、抢红包、集卡、虚拟养成这些活动。GamePlugin SPI 留的扩展点、Redis Lua 怎么保证抢红包的原子性、AntiCheatGuard 拦什么、水平扩展的前提是什么,都按当前实现来讲。
Spring Boot 3.5 + Java 25 + Cloud Native 系列(五):事件驱动架构
Shop Platform 的事件驱动这层:Kafka 加 Transactional Outbox 保证投递,EventEnvelope 统一信封,IdempotencyGuard 管幂等,重试与 DLQ 各有策略,同步 Saga 和异步事件按场景分工。