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

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