Commit Graph
8 Commits
Author SHA1 Message Date
wangbo 36546bd5c4 perf(postgres): 回收突发连接并等待验收副作用
失败 Run 的未提交任务已取消,但退款 outbox 尚未完成时下一轮会继承 API 连接高水位和 canceled acquire 增量,污染容量验收。

新增 AI_GATEWAY_DATABASE_MAX_CONN_IDLE_SECONDS,生产配置 30 秒回收突发空闲连接;验收中止后等待旧任务、退款、回调和数据库连接全部收敛后才允许新负载启动。

验证:Go 全量测试、gofmt、bash -n、ShellCheck、kubectl kustomize 和 git diff --check 通过。
2026-07-31 03:46:41 +08:00
wangbo 75a56b21bc perf(acceptance): 将 API 连接池提升至 64
P24 千并发在 API Pool 48 下仍出现 acquired 接近上限及 canceled acquire 增长,而 Worker Pool 仅使用 3 条连接,PostgreSQL 实际连接数仍有安全余量。

将生产 API Pool 默认值提升至 64,并允许通过 AI_GATEWAY_ACCEPTANCE_API_DATABASE_MAX_CONNS 配置单次验收;Worker 档位与 min-idle=4 保持不变。

验证:bash -n、ShellCheck、kubectl kustomize 和 git diff --check 通过。
2026-07-31 03:38:28 +08:00
wangbo 2529679b67 perf(postgres): 分离 API 池并降低连接预热
生产同构千并发请求在干净队列上复现 API Pool 31/32、idle=1 且 canceled acquire 持续增长,Worker Pool 仅使用少量连接,确认瓶颈位于 API 数据库连接预算而非 Worker 执行槽。

新增可配置的 AI_GATEWAY_DATABASE_MIN_IDLE_CONNS,生产仅预热 4 条连接;API Pool 独立固定为 48,Worker Pool 继续跟随 P24/P28/P32 的 32/36/40 档位。发布工具、Kubernetes 清单、验收门禁和文档同步更新。

验证:Go 全量测试、gofmt、bash -n、ShellCheck、kubectl kustomize 和 git diff --check 通过。
2026-07-31 03:28:43 +08:00
wangbo 3053ba4925 feat(acceptance): 增加生产同构媒体压力验收模式
引入动态流量门禁、隔离验收身份与协议级 Gemini/Volces 模拟器,覆盖双站点 API、Worker、PostgreSQL、River、账务、回调和媒体物化链路。

新增 P24/P28/P32 容量阶梯、Worker 强杀恢复、真实小流量 canary、CAS 放量和失败保持 validation 的生产编排;Worker 执行槽、连接池、媒体并发和双站点副本数改为环境配置。

验证:Go 全量测试、真实 PostgreSQL 迁移集成测试、迁移安全检查、OpenAPI 生成、ShellCheck、Kustomize、gofmt 和 git diff --check。
2026-07-30 23:06:19 +08:00
wangbo 7c142f5960 fix(deploy): 补齐集群备份兼容与切换前门禁
阿里云 OSS 的 S3 兼容层要求 virtual-hosted addressing,且 boto3 需要使用 Signature V2。本提交为 Barman 的归档、备份、保留与恢复统一挂载 AWS 配置,并将实际 WAL 归档和近期全备设为切换硬门禁。

同时补充 CNPG/etcdutl 固定版本安装、显式主库切换、三节点逐台停机、OSS 快照下载校验与远端临时 Secret 清理。已通过 ShellCheck、Kustomize、服务端 dry-run、迁移测试、发布脚本测试、敏感信息扫描及生产 precutover 验收。
2026-07-28 06:46:09 +08:00
wangbo 95ddfb2a04 fix(deploy): 为 K3s 配置容器镜像端点
三节点 containerd 增加 Docker Hub、GHCR 与 Quay 的 DaoCloud 镜像端点,解决生产节点直连公共 Registry 超时导致 Pod sandbox 无法创建的问题。

新增逐节点滚动刷新脚本,每次等待节点重新 Ready 并实际拉取 pause 镜像后才继续,避免同时重启 etcd 成员。初始 K3s 安装也会预置同一 registries.yaml。

验证:三节点镜像端点均返回 Registry 认证响应,bash -n、ShellCheck。
2026-07-28 05:05:33 +08:00
wangbo 4e60bf1c64 fix(deploy): 本地校验并分发固定 K3s 二进制
生产节点访问 GitHub Release 失败时,改由本机下载 v1.36.2+k3s1 amd64 二进制,使用固定官方 SHA-256 校验后分发到三节点,再让官方安装器跳过远端下载。

同时将运行手册顺序改为先完成公网端口隔离,再安装 K3s。

验证:bash -n、ShellCheck、官方 checksum 获取与节点失败现场。
2026-07-28 04:50:54 +08:00
wangbo 971540a2a4 feat(deploy): 增加三节点 K3s 高可用迁移能力
新增 WireGuard 全互联、三 server embedded-etcd K3s、CloudNativePG 双实例、Barman OSS 备份、双 NGINX、Kubernetes Secret/RBAC 与本地旧文件按严格 24 小时清理。

新增维护窗口数据迁移、digest 固定滚动发布、应用回滚、跨节点文件 E2E、节点和数据库故障演练、CNPG 恢复与 etcd 快照验收脚本;洛杉矶仅作为带 NoSchedule 污点的仲裁节点。

所有生产 Secret 只在执行时从 0600 本地环境和旧生产容器导入,仓库不保存凭据;公网入口保持人工 DNS 故障切换边界。

验证:bash -n、ShellCheck、kubectl kustomize、Node 语法检查、Secret 扫描、OSS put/head/delete 实测。
2026-07-28 04:37:31 +08:00