Lobsters | 📄 原文链接 | 2026-11-04 收录

计划内切主:把写入中断压到最短

来源:planetscale.com — 2026-10-29

📋 概述

PlanetScale 的 Shlomi Noach 讲 Neki 分片(一个 Postgres 主库加多个只读副本)如何做计划内切主,分三段:预检、收敛与提升、客户端恢复。和故障切换最大的区别是不需要故障检测——主库本来就要让位,Admin 可以提前把所有检查跑完,任何一项不过就拒绝切换,主库原样保留。真正的难点是确定最终 WAL 位置:主库还在产生 WAL,所以 Admin 先让 Router 缓冲查询、把主库新事务默认改成只读,采样主库位置并记录各副本最终的 receive_lsn,断开非目标副本后取两者较大值,再等目标副本追平。整个切换带截止时间,超时就恢复旧主库可写、重连副本。

🔑 核心要点

💡 金句

计划内切主让 Neki 有机会在自己制造中断之前先做好功课。
← 返回 Lobsters 首页