Files
go-omni/performance/modulesAcceptance.md

51 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 业务基础模块验收
2026-09-23,第一版功能验收通过。运行时代码提交:
`b9259e628e84a4e1cc3a73801b04dd864c4f3a19`。
使用方式与限制见 [MODULES.md](../MODULES.md)。
| 能力 | 验收内容 |
| --- | --- |
| cache | 字节切片所有权、LRU/容量、TTL 边界、取消/关闭、并发合并加载、独立等待取消、加载容量/超时/panic、存储故障不触发回源 |
| cache/redis | 真实 Redis 二进制值读写、TTL 到期、零 TTL 持久、删除、WRONGTYPE 错误保留、取消写入不落库、关闭客户端错误不被当成 miss |
| httpc | TCP 连接复用、GET 503 重试、POST/不可重放 body 不做应用层重试、总超时覆盖退避与响应体、响应大小、禁止自动重定向、请求 ID、提前拒绝时关闭请求体 |
| middleware | 并发限流额度、补充与过期、429/503、504 和已提交响应;身份隔离、精确响应重放、内容冲突、在途记录不随 TTL 过期、失败/panic/超限记录、容量拒绝与超时组合 |
| task | worker/队列上限、panic 隔离、正常排空、超时取消、队列任务不在强制关闭后启动、间隔任务不重叠、跳过统计 |
| go-omni add | 模块命名/路径校验、符号链接拒绝、已有文件保护、独立消费项目编译和完整 CRUD、认证/校验/取消 |
| 组合运行 | 同一示例在 nethttp/native/实验 HTTP/2 的真实 TLS 下验证:合并缓存、上游请求 ID、幂等重放、认证不可绕过、任务只提交一次和退出 |
macOS arm64 / Go 1.27.1 完成主体提交的全仓库 race、vet、build 与独立生成项目测试;
最后的 HTTP 客户端请求体关闭修补另行通过 httpc race/vet。
Linux amd64 / Go 1.25.14 对上述最终运行时代码提交重新执行并通过:
```sh
GO_OMNI_SCAFFOLD_INTEGRATION=1 go test -race -count=1 -timeout=240s ./...
go vet ./...
go build ./...
```
随后使用 Redis 7.4.11 执行真实集成测试。Redis 测试二进制静态编译、未启用 race,
适配器单元测试包含在前一阶段的全量 race 检查中。生成项目使用本地 replace 验证当前源码,
本轮不包含新版本标签发布或远程 CLI 安装验收。
可复现入口:
```sh
python3 scripts/verifyModules.py --goproxy https://goproxy.cn,direct
```
两阶段容器顺序运行,单容器限制 2 CPU / 2 GiB 内存及内存+swap / 256 pids,
总时限 900 秒;本次约 155 秒完成。Redis 容器以非 root 身份运行,禁外网、根文件系统只读,
只使用内部 loopback,未发布端口。结束确认两个测试容器清理完毕,原有 7 个业务容器均仍运行。
原始证据:[结构化报告](modulesLinux.json)、[完整日志](modulesLinux.txt)。
报告记录提交、各源码 SHA-256、镜像 ID、命令、资源上限和日志摘要,已与本地文件逐项核对。
报告中的工作区状态仅为上一轮生成的两个未跟踪验收文件,没有未提交的运行时代码。
测试期间修正了任务池取消回调尚未执行时任务结果误报成功的竞态,
以及幂等缓冲链未提交响应时 deadline 应交给外层 Timeout 返回 504 的组合行为。
这是功能与并发正确性验收,不是生产吞吐或跨副本一致性验收。当前限流、幂等、调度与合并回源
是单进程能力;请求/任务超时依赖业务配合取消。native 和 HTTP/2 的成熟度沿用各自原有定义。