使用Encore、TypeScript和Neon构建生产级API服务
使用Encore、TypeScript和Neon构建生产级API服务
Encore 是一个专为构建云后端应用程序而设计的开发平台,旨在帮助开发者专注于构建云优先的解决方案,而无需处理供应商特定的基础设施复杂性。将 Encore 与 Neon Serverless Postgres 配合使用,可以显著提升开发体验,为构建可扩展的 API 服务提供灵活且强大的基础。
Encore 与 Neon 的结合优势
借助 Encore,开发者可以在整个开发生命周期中充分利用 Neon Postgres,从本地开发到生产环境。这一过程涵盖了服务与 API、数据库(如 Neon)、定时任务(Cron Jobs)、发布/订阅队列(Pub/Sub & Queues)以及密钥管理(Secrets)。
在本文中,我们将通过 Encore 模板和 CLI 工具,创建一个 URL 缩短服务。完成本地环境部署后,我们将进一步推送到生产环境。整个服务将基于 Encore 的 TypeScript SDK 构建后端云基础设施。
准备工作
在开始之前,您需要:
- 安装 Encore CLI。
- 如果计划将应用部署到 AWS 或 GCP,需要提前配置相关账户并在 Encore 控制台中完成链接。
本文的示例应用将部署到 Encore Cloud。
TypeScript SDK 的优势
Encore 的 TypeScript SDK 为前端和全栈开发者提供了熟悉的开发语言,支持构建生产级应用和分布式系统。通过 TypeScript,开发者可以轻松从前端开发过渡到后端开发,同时确保类型安全。SDK 允许开发者直接在代码中声明基础设施原语,简化后端开发流程,加速迭代与调试。
此外,使用 Neon 数据库时,Encore 还支持配置临时预览环境,自动分支数据库并添加真实数据,从而简化测试流程。
Encore 的开发工作流程
Encore 提供了一套高效的开发工作流程,包括:
- 本地开发环境:通过简单的命令即可实例化一个与云环境一致的本地开发环境。
- 内置测试支持:提供服务/API 模拟和专用测试基础设施,简化测试流程。
- 自动化云配置:无需手动配置,自动完成云端基础设施的部署。
如果您不直接使用 AWS 或 GCP,也可以选择将应用直接部署到 Encore 的云基础设施。
Neon Serverless Postgres 的优势
Neon 提供了针对云环境优化的无服务器 Postgres 服务,进一步增强了开发体验:
- 简化数据库管理:Neon 抽象了 Postgres 数据库的管理复杂性,让开发者可以专注于应用逻辑。
快速入门:构建第一个应用程序
1. 安装 Encore CLI
首先,安装 Encore CLI 工具,它将为您提供本地开发环境并简化应用程序设置。
2. 创建应用程序
运行以下命令创建应用程序:
encore app create
选择 TypeScript 和 URL 缩短器模板。此时,应用程序已在本地完成设置,同时在 Encore Web 仪表板中创建了一个应用项目。
3. 浏览生成的代码
在代码编辑器中打开生成的 TypeScript 文件(url.ts),您会发现定义 API 端点的过程非常简单,遵循标准的 TypeScript 约定。
4. 启动本地开发环境
Encore 使用 Docker 重现环境,并拉取 Postgres Docker 镜像进行测试。数据库迁移文件位于项目目录的 url/migrations/url/1_create_tables.up.sql 中。
启动后,您可以通过开发仪表板 URL 检查本地运行的应用程序。
部署到 Encore 云
1. 推送到开发云
将更改推送到 Encore 的免费开发云。连接到 Encore 的 Git 服务(Git.Encore.dev),触发部署流程。
2. 激活预览环境
通过 GitHub 集成,您可以为每个拉取请求(PR)激活预览环境。Encore 会自动利用 Neon 的分支功能,为每个 PR 创建独立的数据库分支。
3. 查看暂存环境
首次部署时,Encore 会为应用配置和管理 Neon 数据库。您可以在应用的“暂存”环境中查看基础设施详情。
创建生产环境并集成 Neon
1. 配置 Neon API 密钥
在 Neon 中创建 API 密钥,并将其添加到 Encore 应用的设置中。
2. 创建生产环境
在 Encore 中创建一个名为“prod”的新环境,并选择 Neon 作为数据库提供商。根据需要调整区域和集成设置。
查看已部署的资源
部署完成后,您可以测试应用程序并查看数据库资源。Neon Postgres 数据库已在您的账户中创建,且迁移已成功应用。Encore 会为生产环境创建一个独立的 Postgres 分支。
通过 Encore 云仪表板,您可以使用 cURL 测试 API 服务,并验证数据是否成功写入 Neon 数据库。
清理环境
完成测试后,您可以在 Encore 仪表板中删除不需要的环境,清理应用程序基础设施。
总结
将 Neon 与 Encore 结合使用,为跨多个环境和云平台开发可扩展的 API 服务提供了强大的基础。Encore 简化了应用程序的开发与部署,而 Neon 则通过无服务器 Postgres 数据库的管理,让开发者能够专注于创新与速度。
目前,Encore 已支持在所有环境中使用 Neon Postgres,包括 AWS 和 GCP 云环境。这一功能使开发者能够在不同环境和云提供商之间实现无缝的数据库管理。
原文链接: https://neon.tech/blog/building-production-api-services-with-encore-typescript-and-neon-serverless-postgres
最新文章
- 9个最佳Text2Sql开源项目:自然语言到SQL的高效转换工具
- 深入解析API网关策略:认证、授权、安全、流量处理与可观测性
- GraphQL API手册:如何构建、测试、使用和记录
- 自助式入职培训服务API:如何让企业管理更上一层楼?
- Python如何调用Jenkins API自动化发布
- 模型压缩四剑客:量化、剪枝、蒸馏、二值化
- 火山引擎如何接入API:从入门到实践的技术指南
- 为什么每个使用 API 的大型企业都需要一个 API 市场来增强其合作伙伴生态系统
- FAPI 2.0 深度解析:下一代金融级 API 安全标准与实践指南
- .NET Core 下的 API 网关
- 探索月球的魅力:Moon-API一站式月球数据服务
- 掌握API架构:全面指南