Files
break 370fd3e67f
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 10m49s
update
2026-09-03 09:28:28 +08:00

1.7 KiB
Raw Blame History

Why

代理开放接口的高频查询复用了可靠卡观测序列:过去 24 小时约 70 万次查询产生约 35 万条序列,并留下 230 多万个 cardsync:* Redis 协调 key。Redis 已达到 2GB 上限并出现大量 OOM 写入失败;查询本身返回本地事实,读后异步观测既不改变本次响应,也没有当前对外契约要求。

What Changes

  • 停止代理开放接口的卡流量、卡状态、实名状态和设备流量查询在成功响应后创建后台卡观测序列,包括设备查询展开到绑定卡的路径。
  • 移除代理开放接口模块对读取型观测分发能力的依赖,使查询只读取并返回本地业务事实,不再隐式提交 Redis/Asynq/Gateway 副作用。
  • 保留停复机、购包、套餐激活等既有持久化业务事实经 Outbox 触发观测的语义和当前可靠协调实现;本变更不迁移其他读取入口或设备控制入口。
  • 在代理开放接口能力中建立可观察的约束,防止其后续高频查询再次接入可靠序列。

Capabilities

New Capabilities

  • 无。

Modified Capabilities

  • agent-open-api: 代理开放接口的查询操作只返回当前本地事实,不再提交后台卡观测序列。

Impact

  • 代码:internal/service/agent_open_api/service.gointernal/bootstrap/services.go,以及卡观测触发模块的装配和可达调用链。
  • Redis/Asynq不再由代理开放接口查询持续创建 cardsync:* 和对应任务数据;已存在 key 按其既有 TTL 自然过期。
  • 外部行为:查询响应字段、认证和数据范围不变;查询不再附带非契约化的后台 Gateway 刷新。
  • 不调整 Redis maxmemory、淘汰策略,也不批量清理业务协调、队列或流量事实 key。