Tag

#排查

包含这个标签的文章。

数据库 310 阅读

PostgreSQL 插入新数据却主键冲突:从序列漂移到安全校准的排查实践

适用场景 本文适用于 PostgreSQL 表使用 serial、bigserial 或 identity 列生成主键,但执行正常 INSERT 时仍出现主键重复的场景。常见诱因包括数据迁移、手工补数据、COPY 导入、只恢复表数据却漏掉序列状态,或者在不同环境之间合并数据。 典型表结构如下: CREATE TABLE

阅读全文
云原生 309 阅读

Kubernetes CronJob 重复执行与漏跑:并发策略、截止时间和幂等治理实践

适用场景 本文适用于在 Kubernetes 中运行数据库备份、账单汇总、定时同步、报表生成等周期任务,并遇到以下问题的团队: 上一次任务尚未结束,下一次任务已经启动,两个 Pod 同时修改同一批数据; 控制面短暂不可用或 CronJob 暂停后恢复,任务突然补跑; 配置了 concurrencyPolicy: For

阅读全文
开发 292 阅读

Go 配置热更新偶发数据竞争:用不可变快照与 atomic.Pointer 安全切换

配置热更新看起来只是“重新读一次文件”,但在高并发服务里,它实际上是一次共享状态切换。如果更新协程直接修改正在被请求协程读取的 map、切片或结构体字段,轻则读到新旧配置拼接出的混合状态,重则触发 concurrent map read and map write,让整个进程退出。 本文以一个会动态调整上游地址和超时时

阅读全文
数据库 336 阅读

Redis Stream 消息不再推进:从 Pending 积压到故障消费者安全接管

适用场景 本文适用于使用 Redis Stream 消费组承载异步任务、事件通知或轻量消息队列的系统。典型架构是生产者通过 XADD 写入 Stream,多个消费者用 XREADGROUP 拉取消息,业务成功后再执行 XACK。 当某个消费者在处理期间崩溃、被强制重启或网络中断时,已经投递但尚未确认的消息不会重新出现在

阅读全文
安全 360 阅读

API 密钥泄漏后如何无停机处置:双密钥轮换、审计与最小权限实践

适用场景 代码仓库、CI 日志、工单截图或聊天记录中出现了生产 API 密钥。密钥仍在被多个服务使用,直接禁用可能造成业务中断,但继续保留又会扩大攻击窗口。 本文面向服务到服务调用的静态 API 密钥,给出一套可执行的处置流程:先确认影响范围并限制风险,再创建权限更小的新密钥,通过短暂的双密钥窗口迁移调用方,验证新密钥

阅读全文
Python 319 阅读

Python 服务内存持续增长:用 tracemalloc 快照差分定位无界缓存

适用场景 一个常驻的 Python API、消费者或定时任务进程,刚启动时只占用几百 MB,运行数小时后内存持续上涨。请求结束后内存没有明显回落,重启可以暂时恢复,但过一段时间又出现同样问题。监控最终触发容器 OOMKilled,或节点开始频繁交换内存。 本文针对“对象仍被 Python 引用”的增长场景,演示如何用标

阅读全文
云原生 341 阅读

Kubernetes 滚动发布偶发 502:从终止竞态到连接排空的治理实践

适用场景 本文适用于通过 Kubernetes Deployment 滚动发布的 HTTP 服务。系统平时运行正常,但每次发布、缩容或节点驱逐时都会出现少量 502、连接重置或上游提前关闭;错误只持续几秒,Pod 日志里又看不到明显异常。 这类问题通常不是新版本启动失败,而是旧 Pod 的进程退出、EndpointSl

阅读全文
数据库 326 阅读

MySQL 查询突然变慢:从统计信息失真到执行计划稳定的排查实践

适用场景 本文适用于 MySQL 8.0 使用 InnoDB 的生产环境。典型场景是 SQL 和索引近期都没有修改,但一次批量导入、归档删除或数据分布变化后,原本几十毫秒的查询突然变成数秒;EXPLAIN 显示优化器改走了低选择性索引、错误的连接顺序,甚至全表扫描。 这类问题容易被误判为“数据库负载太高”。真正需要回答

阅读全文