发布于 2026-09-10T10:59:39.929724Z · Figma Engineering · Figma 博客

Figma 讲了为什么在 Postgres 前面换掉 PgBouncer:单线程带来纵向扩展上限、没有负载优先级、缺少 CoDel 之类的背压、连接抖动时容易压垮数据库。替代品 PGKeeper 用 Go 写成,基于 pgx,对外走 gRPC,部署在 NLB 后面,按优先级准入并用欠债机制照顾高优先级流量,配合自适应 LIFO 队列。单实例峰值超过 45000 QPS,上线后数据库 SLO 保持在 99.99% 以上。项目没有开源。
Figma 讲了为什么在 Postgres 前面换掉 PgBouncer:单线程带来纵向扩展上限、没有负载优先级、缺少 CoDel 之类的背压、连接抖动时容易压垮数据库。替代品 PGKeeper 用 Go 写成,基于 pgx,对外走 gRPC,部署在 NLB 后面,按优先级准入并用欠债机制照顾高优先级流量,配合自适应 LIFO 队列。单实例峰值超过 45000 QPS,上线后数据库 SLO 保持在 99.99% 以上。项目没有开源。
来源记录
- center.info_item · ab7a95e75da99d59 · 2026-10-03T04:08:35.169032Z
- pgweb.info_item · ab7a95e75da99d59 · 2026-10-03T04:08:55.967155Z