Spring Boot 3.5 加 Spring Kafka 3.3 把 Kafka 该配的基本都配得起来,这套仓库落地的是消费者并发模型、生产者的 acks 与 retries、序列化选型、offset 提交策略、死信处理和 @RetryableTopic。
Spring Boot 应用的 Metrics 埋点:自动埋点覆盖了什么,什么时候要自己埋(2026)
以 Spring Boot 3.5 + Micrometer 为基础,整理一次应用层 Metrics 埋点实践:自动埋点覆盖范围、@Observed 注解用法、高低基数字段设计、手动 Observation API,以及与 Prometheus 和 OTel 的关系。
给 mirrord 开发者按 namespace 签发 kubeconfig
给 mirrord OSS 做一套按 namespace 授权的开发者接入 demo:kubeconfig 走 Kubernetes CSR API 签发,ClusterRole 集中审查能力,授权和撤销都落在 RoleBinding 这一层。
SLO 与多窗口多 burn-rate 告警:14.4× 和 6× 怎么来的,Prometheus 规则怎么写
SLO、error budget 和 multi-burn-rate 告警的工程实现,按问答一节节推进:为什么传统阈值告警噪声大或滞后、burn rate 14.4× 和 6× 怎么来的,Prometheus 的 recording rules 与 alert 又怎么写。
从 OpenAPI 3.0 到 3.1:JSON Schema 对齐、nullable 语义重构与 webhooks
介绍 OpenAPI 3.1 相比 3.0 的几项核心变化:JSON Schema 2020-12 对齐、nullable 语义重构、webhooks 原生支持,以及我在项目里做升级验证时看到的收益与边界。
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 串起来。
Java 25 on Kubernetes:默认配置未必适合容器
Java 25 跑在 Kubernetes 上,默认堆只用了 25%,CPU 节流的影响也比预期大,这几组实验数据和值得优先验证的配置项放在一起。
K8s CPU 配置:requests/limits 各管什么、Throttling 怎么发生、谁先被驱逐
结合 Homelab 场景整理 Kubernetes 的 CPU requests/limits、CFS throttling、QoS 类别与节点压力驱逐机制,以及我当前采用的资源配置思路。
用 mirrord 把本地进程接入 K8s 集群:从 Demo 到真实调试实践
通过一个 Spring Boot + MySQL + kind 的 Demo,记录如何用 mirrord 让本地进程「假装」自己是 K8s 里的 Pod,无需重新打镜像就能接入集群资源进行调试。