Hyperdrive 是什么
一句话总结
Cloudflare 的数据库连接池服务——在全球边缘节点保持温热的长连接,让 Workers 暴涨时不把源数据库打死。
🤔 为什么会有它 / 解决了什么问题
Cloudflare Workers 的特点是”冷不丁给你来几千个并发请求”。传统数据库连接池(比如 PgBouncer)部署在源服务器附近,从世界各地来的连接仍然要走几百毫秒的公网才能到达。Hyperdrive 把连接池推到 Cloudflare 的全球边缘节点(离用户最近的机房),让 Workers 的数据库查询快一个数量级,同时把几千个短连接压缩成几百条长连接,数据库服务器不会被打垮。
🔍 具体原理 / 运作逻辑
Hyperdrive 在每个 CF 边缘节点维护一组到源数据库的持久 TCP 连接。Worker 发 SQL 查询时,不走公网绕一圈到源库,而是直接走边缘节点上已经建好的连接。Hyperdrive 同时也做查询缓存和连接复用,相同 SQL 在 TTL 内直接返回缓存结果。
更硬核的技术细节(点击展开)
支持 PostgreSQL 和 MySQL(含兼容协议)。通过 Cloudflare Tunnel 或公开端点连接。连接字符串指向 hyperdrive 提供的域名(CF 内部路由),不需要修改应用代码。SSL/TLS 加密从头到尾。缓存是查询级(不是页级),可在 CF Dashboard 配置 TTL。直连场景(非 Tunnel)需要源数据库开放公网端口并白名单 CF IP 段。
🧭 什么情况下会用到 / 什么场景会遇到它
- Workers 或 Pages Functions 需要查数据库,且延迟敏感
- 不想在自己的 VPS 上搭建和维护 PgBouncer/ProxySQL
🛠️ 怎么上手 / 在哪操作
Cloudflare Dashboard → Workers & Pages → Hyperdrive → 创建配置,填数据库地址和凭据,拿到连接字符串给 Workers 用。
⚖️ 副作用 / 代价 / 取舍
- 依赖 Cloudflare 网络——断网或 CF 故障时数据库完全不可达
- 只支持 SQL 数据库,不能用在 Redis/MongoDB 等 NoSQL 上
- 回源仍然要走公网(除非用 Cloudflare Tunnel),瓶颈从连接数变成带宽
🕰️ 来历
- 谁提出/创造的:Cloudflare 公司
- 什么时候出现的:2023 年 5 月(Cloudflare Developer Week 发布),2024 年 GA
🔗 关联 / 经常一起出现的概念
- Cloudflare Workers:Hyperdrive 的主要消费方,Worker 通过 Hyperdrive 查数据库不用每次建新连接
- PgBouncer:传统数据库连接池,跑在源服务器附近。Hyperdrive 是它的”全球分布式版”
- Cloudflare D1:CF 自家的 SQLite 数据库,和 Hyperdrive 互补(D1 处理简单查询,Hyperdrive 连接现有数据库)
⚠️ 注意事项 / 常见误区
Hyperdrive 不自动创建数据库连接,它只是”保持已经建好的连接”。如果源库挂了,Hyperdrive 不会帮你做故障转移。另外 Hyperdrive 有缓存时可能返回过时数据,写操作密集场景需要调短 TTL 或禁用缓存。价格按”连接小时”计费,连接数多时成本需留意。
📎 记忆锚点
“数据库连接的’全球酒店前台’——你到每个城市(边缘节点)直接入住,不用每次都从家(源库)出发。”
📝 更新日志
| 日期 | 改动 | 原因 |
|---|---|---|
| 2026-07-13 | 首次创建 | - |