这个项目能做什么
Encore 是一个基础设施平台,旨在让工程师和 AI 代理无需等待基础设施即可构建生产系统。它由两部分组成:面向 TypeScript 和 Go 的开源基础设施 SDK,以及一个可选的、用于编排云基础设施的托管平台。
借助该 SDK,开发者可以直接在代码中声明应用所需的资源——SQL 数据库、Pub/Sub 主题、对象存储桶、缓存、定时任务和密钥。每个声明都会成为 Encore 应用图中的一个节点。运行 `encore run` 会在本地以真实的 Postgres、真实的 Pub/Sub 语义和分布式追踪启动整个系统,而部署则会在用户自己的 AWS 或 GCP 账户中配置对应的云资源。README 提供了一张映射表,展示本地对应组件(Postgres、NSQ、本地文件系统、Redis)与 AWS(RDS、SNS+SQS、S3、ElastiCache)和 GCP(Cloud SQL、Cloud Pub/Sub、GCS、Memorystore)服务之间的对应关系。
配置与应用语义相互分离:资源在代码中声明,而特定环境的设置则通过 Encore 平台仪表盘、云服务商控制台或 Terraform provider 进行管理。该工作流涵盖本地开发、按 PR 的预览环境(可选地从种子环境分支数据库)以及生产部署;在生产部署中,Encore 会将应用图与环境进行差异比对,配置缺失的资源,根据代码路径连接最小权限 IAM,并推出新代码。
采用是渐进式的:现有基础设施可以通过 AWS/GCP SDK 或第三方 API 照常使用,服务可以逐个迁移,部署也可以面向现有的 Kubernetes 集群或 VPC。README 指出,99% 的代码都是常规的 Go 或 TypeScript,并链接到一份迁移离开指南。
已说明的限制包括语言支持(目前为 TypeScript/Node.js 和 Go,Python 即将推出)、基础设施范围聚焦于常见资源,以及全自动配置目前仅限于 AWS 和 GCP,Azure 在路线图中,而通过 `encore build docker` 自托管可在任何提供商上使用。
该项目还强调 AI 辅助开发:`encore app create` 可以为 Cursor 和 Claude Code 等工具生成规则文件,并配置一个 MCP 服务器,让代理能够内省服务、API、数据库和追踪。位于 localhost:9400 的本地开发仪表盘会显示服务、API、追踪、数据库、Pub/Sub 消息和架构图。可选的托管平台增加了预览环境、带最小权限 IAM 的配置、分布式追踪、指标和日志、成本分析、审批工作流,以及自动生成的服务目录和架构图。Encore 采用 MPL-2.0 许可,框架、解析器、编译器、运行时和 CLI 均为开源,而托管部署平台则是商业服务。
评论
0 评分人数达到10人后显示
登录后参与讨论。