数据库往往是微服务里比较关键的依赖之一。本文结合当前仓库经验,整理 HikariCP 连接池调优、open-in-view: false 的影响、@EntityGraph 防 N+1、@Transactional 传播行为、Testcontainers @ServiceConnection 集成和 Flyway 进阶实践。
Posts for: #spring-boot
Spring Boot 3.5 下 Redis 实战记录:从连接池调优到 Bloom Filter 自动配置
Redis 在 Shop Platform 中承担缓存、限流、分布式锁、Bloom Filter、Lua 原子操作等多重角色。本文结合当前仓库里的实现,整理 Lettuce 连接池、序列化策略、Redisson 分布式锁、Bloom Filter 自动配置和 Lua 脚本加载方式的实践记录。
Spring Boot 3.5 下 Kafka 实战记录:从消费者并发模型到序列化选型
Spring Boot 3.5 结合 Spring Kafka 3.3 提供了比较完整的 Kafka 集成能力。本文结合当前仓库实现,整理消费者并发模型、生产者 acks/retries、序列化选型、offset 提交策略、死信处理和 @RetryableTopic 的实践记录。
Stripe 支付接入基线:PaymentIntent 抽象、Mock/真实网关切换与后续 Webhook 演进
电商平台接入真实支付系统往往要先把支付抽象和 provider 边界理顺。本文结合 Shop Platform 当前实现,拆解 wallet-service 中的 PaymentIntent 抽象、Stripe/PayPal/Klarna/Wallet 支付方式矩阵、Mock/真实网关切换,以及尚未落地的 webhook、退款幂等和 Payment Element 演进方向。
电商 Guest-First 购物体验:无需注册也能完整下单
注册门槛往往会抬高结账流失。本文结合 Shop Platform 当前实现,拆解 guest JWT、Redis 游客购物车(TTL 48 小时)、游客订单的 order_token 追踪,以及登录后购物车合并;并额外说明 buyer-portal 与 buyer-app 在 guest checkout 体验上的差异。
Spring Boot 3.5 Tracing 实践记录:从接入到生产观察
结合一次 Spring Boot 3.5 tracing 接入整理的实践记录:自动配置覆盖范围、自定义埋点、Kafka/Redis/DB 组件接入、采样策略、PII 处理,以及用 ArchUnit 约束常见误用。
Spring Boot 3.4+ 结构化日志实践记录:用 ECS + Fluent API
记录我用 Spring Boot 3.4+ 内建的 ECS 结构化日志支持替代大部分手写 logback-spring.xml 配置的过程,并结合 SLF4J Fluent API 让日志在 OpenSearch 中更容易查询和聚合。
Spring Boot 微服务中的 Feature Toggle 实战:OpenFeature Property Provider + K8s ConfigMap 热更新
在微服务中引入 Feature Toggle 能力,通过 OpenFeature SDK 实现供应商无关的特性开关。本文结合 shop 项目的实际实现,讲解 OpenFeature Property Provider 如何从 Spring Config 读取 flag、K8s ConfigMap 挂载 + Configuration Watcher 触发热更新的链路,以及从静态 YAML 到生产级动态管理的演进路径。
Java 日志开发实践整理
整理一份偏实践向的 Java 日志记录笔记:记录什么、不记录什么、message 怎么写、结构化字段如何设计;也顺手记录我在 Spring Boot 项目里落地这些约定时的一些取舍。
Spring Boot 3.5 + Java 25 + Cloud Native 系列(七):架构质量Quality Gates
架构约束很难只靠 Code Review 口头约定。本文结合 Shop Platform 当前实现,整理 19 条 ArchUnit 规则、6 个 Maven Archetype、WireMock contract testing 和 API 路径版本化校验这几层工程护栏。