应用日志采集:数据的位置决定采集方式
同样是接一个新服务的日志,为什么有的十分钟就能配好采集,有的却要单独写一套逻辑?答案不在规范,在数据本身落在哪、写成什么格式。这篇按数据位置拆开讲,每种位置配一个具体的例子。
同样是接一个新服务的日志,为什么有的十分钟就能配好采集,有的却要单独写一套逻辑?答案不在规范,在数据本身落在哪、写成什么格式。这篇按数据位置拆开讲,每种位置配一个具体的例子。
可观测性平台不是选一个"最强工具"就能搭起来的,日志、指标、告警、采集这几层每一层的取舍标准都不一样。这篇讲清楚为什么放弃 all-in-one 方案改用 LGTM 拼装、为什么指标选 VictoriaMetrics、告警为什么要拆成两套、OTel Collector 的采集层怎么分工。
GitOps 要求所有部署状态都进 Git,但数据库密码、API Key 这类 Secret 明文进 Git 是绝对不能接受的。这篇文章讲清楚我们怎么用 Sealed Secrets 把加密后的 Secret 安全地提交到仓库、加密范围(scope)怎么选,以及同一份配置要在多个业务 namespace 里都有一份时怎么用 Reflector 自动分发,而不是手动复制。
从一条稳定运行了几年、覆盖几十个微服务和三套环境的 GitOps 流水线出发,拆解几个具体设计决策——镜像标识为什么要锁 sha256 digest 而不是 tag、多条流水线并发写同一个 GitOps 仓库怎么处理冲突、生产环境为什么要保留手动同步这道闸门,而不是一篇工具选型清单。
介绍 OAuth 2.0 的常见授权模式,以及 Spring Security 作为 OAuth 2.0 Client 和 Resource Server 集成 Keycloak 的配置与实现。
数据库敏感字段的应用层加解密、精确与模糊搜索、数据迁移及密钥管理方案。
在 Kubernetes 中使用 cert-manager 配合阿里云 DNS webhook,通过 DNS-01 验证实现 Let's Encrypt 证书的自动签发与续期,并接入 Traefik 使用。
本文深入分析 Java 应用中 SSLSocketImpl 导致的内存泄漏问题,通过堆分析定位原因,揭示 Finalizer 对象堆积及连接未及时回收的核心根源,并提供实用的优化与解决思路,帮助开发者排查 HTTPS 连接引起的内存增长
深入讲解使用 Apache POI 实现 Excel 文件流式输出的方法,涵盖大数据量导出、SXSSFWorkbook 流式写入解决 OOM、边读取数据边输出到客户端的实践示例与优化技巧,帮助 Java 开发者构建高效 Excel 导出接口
系统讲解如何估算线程池大小,基于任务类型区分 CPU 密集型与 IO 密集型,结合 CPU 核数与等待/计算时间比给出线程数计算思路,并分析估算公式及实际调整策略,帮助 Java 并发开发者合理配置线程池以提升性能