BFF 调用多个下游 microservice 时,连接池要不要按服务隔离?connectTimeout / readTimeout 怎么 per-service 配置?Spring Boot 3.5 内部服务用 h2c 要避哪些坑?把这三个常见问题理清楚。
Posts for: #spring-boot
shop-starter-http-client 集成指南:从零到第一个 @HttpExchange 客户端
Step-by-step 指南,按这套步骤通常可以在 Spring Boot 3.5 BFF 工程里跑起第一个 @HttpExchange 出站客户端。
shop-starter-http-client:Spring Boot 3.5 微服务 HTTP 客户端基础设施设计
Spring Boot 3.5 + Java 25 微服务下,记录我如何用一个共享 starter 统一出站 HTTP 客户端的身份传播、错误语义、可观测性和弹性。
微服务契约兼容性的五层防线:从 ArchUnit 到 japicmp
只共享 contracts 往往还不够——按我目前的理解,更稳妥的做法是把 ArchUnit、japicmp、Deprecation/Sunset 头、ignore-unknown、WireMock 这些检查组合起来。本文记录 Shop Platform 里的落地方式和一些可参考资料。
微服务契约共享的 Tradeoff:从 Monorepo 到 Polyrepo,该共享到哪一步
BFF 与微服务之间到底该共享到哪一步?本文从 Shop Platform 的 monorepo 实践出发,拆解共享 contracts、共享 client、契约测试三种思路在 polyrepo 下的 tradeoff,并记录我目前更倾向的落地方式。
从现有项目抽象出 Maven Archetype
从现有 Spring Boot 项目抽象出 Maven Archetype 的完整流程,包括 Velocity 转义、.gitignore 被过滤、post-generate 钩子、git-commit-id 插件等真实踩坑记录。
用 Maven Archetype 管理微服务 Scaffold:为什么我这里暂时没用 Spring Initializr
在多模块 Maven 单仓微服务平台中,我们选择了 Maven Archetype 而非 Spring Initializr 来管理服务脚手架。本文说明选型背后的原因、六类 Archetype 的分层逻辑、为什么我倾向给 Archetype 本身也加测试,以及版本维护策略。
本地 Kind K8s 开发环境:问题驱动的工具选择与 Tradeoff
记录自己在本地用 Kind 跑一套 Spring Boot 微服务项目时的工具选择:以问题为导向,介绍增量构建、Tilt、mirrord、ArgoCD 等工具如何解决开发痛点。
Java 项目怎么做 contract testing:一次 Spring Cloud Contract 实践
基于 java-contract 仓库的工程复盘:REST API 和 Kafka 消息 contract 如何在 Java 25 + Spring Boot 3.5 + Maven 多模块项目里分别落地,producer 验证、consumer stubs 和 CI Quality Gates 如何串起来。
Spring Boot 3.5 微服务 tracing 为什么会断链:一次 HTTP 客户端治理复盘
Tracing 断链很少是 @HttpExchange 能解决的问题。一次 Spring Boot 3.5 + Micrometer + OpenTelemetry 的复盘:用 W3C Trace Context、baggage 白名单和 auto-configured RestClient.Builder 把 trace 和业务上下文一起稳定地跨服务传下去。