PostgreSQL 锁机制与死锁
并发改数据靠锁保正确,但锁用不好会慢、会死锁。本文讲清 PG 的行锁/表锁/咨询锁、死锁的产生与自动检测、SELECT FOR UPDATE 的并发控制、以及怎么减少锁冲突(短事务/固定加锁顺序/乐观锁)。
DevOps、Docker、Kubernetes、可观测性
本专题收录 云原生 方向的文章和社区讨论,重点关注真实工程场景、工具选择、实践路径和风险边界。
页面会持续更新,适合作为学习路线、选型参考和技术复盘入口。
并发改数据靠锁保正确,但锁用不好会慢、会死锁。本文讲清 PG 的行锁/表锁/咨询锁、死锁的产生与自动检测、SELECT FOR UPDATE 的并发控制、以及怎么减少锁冲突(短事务/固定加锁顺序/乐观锁)。
每次改数据手动触发下游同步?CDC 自动捕获数据库变更,实时推给下游(搜索/缓存/数仓)。本文讲清 CDC 的原理(读 WAL 日志)、工具(Debezium)、适用场景(同步 ES/缓存/数仓/微服务事件)、以及它比"双写/定时轮询"强在哪。
PG 的杀手锏不只是 SQL,是扩展——pgvector 做向量检索、PostGIS 做地理、TimescaleDB 做时序、zhparser 中文分词。本文讲清 PG 扩展的价值、10 个最常用扩展各自解决什么、怎么安装管理,以及"一个 PG 替代多个组件"的架构思维。
分片不只是"把数据拆开"——分片键选错,查询全扫;跨片 JOIN/聚合/分页是噩梦。本文深入讲清分片键的设计原则(高基数/查询路由/避免热点)、跨片查询的应对(应用层合并/反范式/CQRS)、全局唯一 ID(雪花),以及"先别分片"的现实建议。
每个分类的 Top 3?累计求和?按组排名?窗口函数一条 SQL 搞定,不用 GROUP BY + 子查询。本文讲清窗口函数的核心(OVER/PARTITION BY/ORDER BY/帧)、常见场景(排名/累计/同比/前N行)、以及它和 GROUP BY 的本质区别。
模型上游可能部分超时、限流或静默降质。本文给出供应商事故的声明条件、UTC 证据时间线、隔离矩阵、Prometheus 查询、降级门槛与恢复验证。
模型新版本上线不能只看容器健康。本文设计从离线门禁、影子请求、分层金丝雀到自动回滚的模型服务发布流程,并处理缓存、会话与 GPU 预热问题。
上云第一步不是建虚拟机,是搞懂网络——VPC/子网/路由/安全组/NAT。本文讲清云网络的核心概念、公共子网 vs 私有子网(数据库不该对公网开)、安全组(防火墙)与 NACL、NAT 网关(让私有子网出公网),以及一套经典的"两层子网 + 最小暴露"架构。
服务跑在不同机器,日志散落各处,出事翻不到。日志聚合把所有日志集中一处,可搜可查可告警。本文讲清日志聚合的架构(采集→传输→存储→查询)、ELK(重)vs Loki(轻)的取舍、结构化日志(JSON)的重要性,以及怎么定日志策略(级别/采样/保留)。
OFFSET 翻页翻到第 1000 页慢得像查全表——因为它真的扫了前 1000 页。本文深入讲清 OFFSET 的性能问题(O(N) 扫描)、游标分页(keyset pagination O(1))、游标怎么设计(多列排序/复合键)、以及什么时候只能用 OFFSET(需要跳页)。
请求来了分给哪个后端?负载均衡器决定了分配策略。本文讲清 L4(网络层)vs L7(应用层)、常见算法(轮询/加权/最少连接/IP哈希/一致性哈希)各自适用、健康检查与会话保持、以及 Nginx/ALB/Envoy 等工具选型。
API key、数据库密码、JWT secret——硬编码进代码 = 定时炸弹。本文讲清密钥管理的正确姿势:.env(开发)→ 环境变量(Docker)→ 密钥管理服务(HashiCorp Vault / AWS Secrets Manager 生产),轮换与审计,以及密钥泄露后的应急。