Orbit · 星轨

Orbit 是面向多个业务项目的通用任务调度与流程编排平台,采用 Go + MySQL + HTTP/WebSocket。

  • Pulse · 脉动:异步任务、定时调度、执行授权与安全重试。
  • Weave · 织流:研发定义发布流程,管理步骤、等待、有界查询与恢复。
  • 业务处理器运行在接入方 Worker 中;平台不内置行业规则。

当前进度

已建立基础 Go 骨架、30 个数据模型、MySQL 初始迁移、事务工具、HTTP 健康检查与独立 SDK 健康客户端。任务 API、WSS Worker、调度器和流程执行引擎尚未实现,按 持续开发计划 推进。

当前健康接口的 readiness 只表示数据库与迁移记录可用,不表示完整平台已具备生产服务能力。验证证据见 P0 报告。

目录

cmd/orbit/                    基础 HTTP 服务入口
cmd/orbit-migrate/            独立数据库迁移命令
model/                       公共 ID、JSON、摘要与记录原语
platform/model/              应用、命名空间、幂等、事件和审计
pulse/model/                 任务、尝试、队列、计划和执行许可
weave/model/                 定义、实例、步骤、信号和查询轮次
internal/config/             配置校验
internal/storage/mysql/      连接、事务、迁移及集成测试
internal/transport/httpserver/ HTTP 接入
sdk/go/                      独立 Go SDK module 与示例
scripts/                     可复现的回归工具
docs/                        设计、接口、SDK、场景与验证报告

本地运行

要求 Go 1.27.1、MySQL 8.4+。先准备专用数据库和凭据,通过环境变量注入;程序不会自动读取 .env 文件。

export ORBIT_MYSQL_DSN='user:password@tcp(127.0.0.1:3306)/orbit'
export ORBIT_HTTP_ADDR='127.0.0.1:8080'
go run ./cmd/orbit-migrate up
go run ./cmd/orbit

上方 DSN 为本地占位示例,需替换为实际凭据。部署时使用秘密管理和经过验证的 TLS 配置;迁移账户与运行账户分开授权。运行程序不自动迁移数据库。

另一个终端执行 SDK 示例:

cd sdk/go
ORBIT_URL=http://127.0.0.1:8080 go run ./examples/health

开发与回归

make fmt
make test
make vet
make build
make integration

make integration 要求 Docker、OpenSSL 等标准命令,启动独立的临时 MySQL 容器,使用随机凭据和回环随机端口;完成后删除该测试容器。不会连接已有业务数据库。可通过 GO、DOCKER 和 ORBIT_TEST_MYSQL_IMAGE 指定工具/测试镜像。

修改已应用迁移时会触发校验和拒绝;新增结构使用新的前向迁移。初始结构尚未部署生产。

文档入口

Git 远端:https://git.yuntuo.hk/k2safe/orbit.git。当前在本地开发分支推进,SDK 尚未发布版本。

Description
No description provided
Readme 5.6 MiB
Languages
Go 90.5%
JavaScript 3.8%
Shell 2.6%
HTML 2.1%
Python 0.8%
Other 0.1%