Postgres两阶段提交与分布式一致性治理概览2PC 通过 `PREPARE TRANSACTION` 与 `COMMIT/ROLLBACK PREPARED` 实现跨资源原子性;需谨慎治理锁与失败。技术参数(已验证)预提交:会话执行本地事务与 `PREPARE TRANSACTION 'gid'`;资源锁在预提交后保持;需尽快完成二阶段。提交/回滚:协调者决定 `COMMIT PREPARED` 或 `ROLLBACK PREPARED`;在故障恢复时处理遗留预提交。代价与风险:长时间预提交持锁与膨胀;在失败时手工清理;审计 `pg_prepared_xacts`。替代:业务幂等与补偿;事件最终一致;避免重事务跨库。观测:记录预提交数量与时长;告警与剧本。实战清单限制 2PC 使用范围;在必要场景编排快速二阶段。建立预提交清理与恢复流程;在演练中验证。优先幂等与补偿方案;减少跨库原子依赖。

发表评论 取消回复