跳到主要内容
Deno v1

从边缘连接到 Postgres

Postgres 是最受欢迎的数据库之一。它快速、熟悉且功能丰富。它是许多公司的数据库首选。Postgres 的一个缺点:应用程序只能通过 TCP 连接到它 - 许多边缘运行时(例如 Cloudflare Workers、Vercel Edge Functions 或 Netlify Edge Handlers)不支持的协议。

这通常是边缘无服务器产品的问题。它们不具备与在 VM 或 Kubernetes 上的容器内运行的应用程序相同的功能。这使得它们对于许多需要集成到现有系统中的人来说是不可接受的。

借助 Deno Deploy,我们正在构建一个功能更强大的边缘无服务器系统。开发人员应该能够像往常一样在本地构建:连接到 Postgres,从磁盘读取静态文件,并使用环境变量进行配置。然后能够全局部署到我们的遍布全球 28 个区域,而无需额外的样板代码、配置或担心缺少功能。

因此,问题是:我们如何从边缘连接到 Postgres?好吧,您导入您的驱动程序,像往常一样连接到数据库,然后运行查询…… 真的没有什么特别之处。

在 Deno Deploy 上,您可以从边缘连接到您的 Postgres 数据库(即使使用 TLS 和自定义 CA 证书)。您还可以连接到其他使用非 HTTP 协议的数据库,例如 Redis、MySQL 或 MongoDB。为了充分利用 Deno Deploy 的全球特性,您可以使用 Postgres 接口连接到全球分布式 Cockroach DB 数据库。或者使用其新的 Postgres 接口连接到全球 Google Spanner 实例。

嘿,您甚至可以连接到更晦涩的系统,如 MQTT,甚至可以使用 Minecraft RCON 管理您的 Minecraft 游戏服务器。

如果您想更详细地了解如何在 Deno Deploy 上使用 Postgres,请查看 Deno Deploy 文档中的Postgres 教程。您还可以查看关于 Deno.connectDeno.connectTlsDeno.startTls 的 Deno 文档 - 这些 API 用于创建从 Deno 和 Deno Deploy 出站的 TCP 和 TLS 连接。