从监控到可观测性
“可观测性”火了这几年,说到底跟监控的区别就一句话: 监控是你知道要看什么,可观测性是出了你没想到的问题时,你还能找到答案。 前者给你确定性的安全感,后者让你有能力处理不确定的故障。两者不在一个维度上。 三大件里,Metrics、Logging、Tracing,不用一上来全上。我的建议是:先把 Metrics 搞好。 日志你本来就有,问题不是没有日志,是有效的太少。Tracing 等你真的被分布式问题搞痛再说。但 Metrics 不行,CPU、内存、QPS、延迟不看,就真的瞎了。 为什么选 Actuator + Prometheus + Grafana?因为在 Java 生态里,这是标准答案感最强的组合。 Actuator 是 Spring 官方给应用装的探头。JVM、HTTP、线程池、数据源全部暴露出来,不需要你写采集代码。它底下是 Micrometer,类似 SLF4J,今天接 Prometheus,改天公司要上 Datadog,换后面那层就行,应用代码不用动。这个设计的价值是:你做的配置工作不会绑定到某个特定平台。 Prometheus 有意思在它是拉数据,不是等应用推...
Gradle Kotlin DSL 构建 Java 项目实战指南
为什么选择 Gradle Kotlin DSL传统的 Gradle 构建脚本使用 Groovy 编写(build.gradle),虽然灵活,但缺少 IDE 的类型检查和代码补全支持。Gradle Kotlin DSL(build.gradle.kts)用 Kotlin 语言替代 Groovy,带来以下优势: 类型安全:编译期就能发现配置错误 IDE 支持:IntelliJ IDEA 对 Kotlin DSL 提供完整的代码补全和跳转 更好的重构能力:重命名、提取变量等操作一应俱全 如果你是 Java 开发者,不需要会 Kotlin,掌握几个基础语法就能上手。 创建项目方式一:命令行初始化12mkdir my-project && cd my-projectgradle init 选择 Application → Java → Kotlin 作为 DSL 语言,会自动生成基础项目结构。 方式二:Spring Initializr访问 https://start.spring.io ,选择 Gradle - Kotlin 作为构建工具,生成项目即可。 项目结构1...