引言
随着技术的进步和 AI 的普及,许多原本需要团队协作的任务现在可以通过自动化和智能工具轻松完成,极大地提升了单个开发者的能力。借助这些工具,开发者可以独立完成从开发到运维的全流程工作,真正成为一名“全干工程师”。
在之前的教程中,我们分享了一些入门级的 Hello World 案例。今天,我们将通过一个实际的业务场景,展示 Sealos Devbox 不仅仅是一个玩具工具,而是一个强大的生产力平台。
Sealos 平台与 Devbox 开发模式
Sealos 平台上运行着众多应用,其中许多管控层面的应用都是使用 Cursor + Go + Next.js 开发的。我们的开发环境直接采用 Sealos Devbox,并通过 Devbox 实现一键上线。这种开发模式为团队带来了极高的效率,通过自动化和 AI 处理大部分重复性工作,让开发者专注于核心业务逻辑。
AI Proxy 应用架构
以 Sealos 中的 AI Proxy 应用为例,它采用了典型的前后端分离架构,主要由以下两部分组成:
- 前端应用与 BFF 层:基于 Next.js 开发,负责用户鉴权,并将经过验证的请求转发给后端服务。
- 后端服务:使用 Golang 开发,负责核心业务逻辑,包括 token 存储、日志记录和请求转发等功能。
以下将详细介绍如何高效地开发这样一个生产级别的系统。
Golang 后端开发
创建开发环境
- 在 Sealos Cloud 中打开 Devbox 应用,创建一个新项目,选择 Go 作为运行环境,版本选择 1.23。
- 启动开发环境,几秒钟即可完成初始化。
Devbox 核心功能
- 灵活的资源配置:根据项目需求调整 CPU 和内存,平衡性能与成本。
- 一键启用 HTTPS:系统自动分配安全域名,无需手动配置 SSL 证书。
- 全自动域名管理:从开发到测试环境,域名配置全程自动化,开发者无需分心。
连接 Cursor 开发工具
- 在 Devbox 操作选项中选择使用 Cursor 连接开发环境。
- 首次打开时会提示安装 Devbox 插件,安装后即可自动连接。
项目导入与测试环境开发
- Fork Sealos 源码 到自己的仓库,并将其克隆到 Devbox 开发环境。
- 在 Cursor 中切换到 “Database” 标签页,创建 PostgreSQL 和 Redis 实例。
- 启动服务并测试接口。
优化数据库设计
在开发过程中,我们优化了 Group 和 Token 之间的外键约束,将其改为程序层面的显式调用,从而降低了系统维护的复杂度。通过一系列测试验证后,确认优化方案可行。
上线到生产环境
- 在 Cursor 中设置启动命令,并在 Devbox 发布页面发布版本。
- 部署应用并测试生产环境接口。
Next.js 前端开发
前端项目搭建
- 在 Devbox 中创建一个 Node.js 环境,版本选择 20,端口改为 3000。
- 克隆 Sealos 仓库并安装依赖。
- 构建 client-sdk 包,并配置 Cursor 的 i18n 插件。
对接后端环境
- 在项目根目录创建
.env
文件,配置关键环境变量。 - 启动开发服务器并进行测试。
总结
Sealos AI Proxy 项目采用了经典的 Next.js App Router 架构,分层设计让 Golang 后端专注于核心业务逻辑,而无需关心认证等基础设施。这种设计显著提高了代码的灵活性和可移植性。