Files
go-omni/ROADMAP.md

2.1 KiB
Raw Blame History

GoOmni 成熟度计划

1. 新项目启动与发布流程(已完成,v0.1.1)

  • 修正脚手架固定版本引用,保留显式本地开发选项。
  • 生成服务处理退出信号,等待请求完成后清理资源。
  • 验收:源码目录外安装远程 CLI → 生成无 replace 的项目 → 编译 → 请求健康接口和业务接口 → SIGINT/SIGTERM 正常退出。
  • 自动验收入口:python3 scripts/verifyScaffold.py --version v0.1.1。
  • 已通过全量 race 测试、vet、build,以及从远程提交安装 CLI 后的无 replace 端到端验收;覆盖生成服务和 App.Run 的两种退出信号。

2. 业务数据接入(已完成,v0.2.0)

  • 数据库初始化、Repository 和 ServiceContext 组合成完整业务启动流程。
  • Readiness 注册数据库探针,启动失败与服务退出时清理连接池。
  • 验收:真实数据库 CRUD、事务回滚、数据库不可用时 readiness 返回 503。
  • go-omni new --database mysql 已生成完整数据接入流程,默认内存模式仍然可用。
  • 独立 MySQL 8.4 容器已验证 CRUD、唯一邮箱、分页、服务重启持久化、事务提交与错误/panic/取消回滚。
  • 已验证初始化失败、缺少表结构、正常退出时关闭连接池,以及数据库停止后的 readiness 503、恢复后的 200。
  • 自动验收入口:python3 scripts/verifyDatabase.py --version v0.2.0;结束后清理本次测试容器、匿名卷和临时项目。

3. 网络适配一致性(待完成)

  • Gin 与标准库适配器运行同一套契约测试。
  • 覆盖路由参数、分组、中间件、错误响应和取消传播。
  • 验收:切换适配器后,业务 Handler 和 Service 无需修改,约定的 HTTP 行为一致。

4. 实际业务试用(待完成)

  • 在一个实际业务模块中使用远程固定版本,验证配置、日志、错误处理和升级流程。
  • 根据真实接入问题收敛公共 API,再评估稳定版范围。

以上阶段以验收结果判断完成。当前仍是基础框架试用阶段;MySQL 功能验收已完成,生产压测、自研网络内核与实际业务接入尚未完成。