2.1 KiB
2.1 KiB
AKTools 超短行情补充数据源设计
方案
AKTools 保持为独立的内网 HTTP 服务,Nest 在市场概览模块内增加 AKTools Adapter。Adapter 负责请求、超时、响应大小和错误边界;Mapper 负责把 AKTools 中文字段转换成稳定领域 DTO;Service 并行调用三个接口并生成规则结论。
Vue → Nest Controller → ShortTerm Service → AKTools Client → 127.0.0.1:8080 → AKShare
└→ TDX 既有市场概览链路保持独立
接口
GET /api/v1/market-overview/short-term/emotion
GET /api/v1/market-overview/short-term/conclusion
两个接口共享一次请求内的 snapshotId,但不要求跨请求持久化。emotion 返回结构化指标,conclusion 返回规则结论和证据引用。
安全策略与评估
AKTOOLS_BASE_URL只能是配置值,禁止来自请求参数;启动时仅允许回环地址或明确内网白名单。- 客户端只使用 GET 和固定接口名,不把任意函数名暴露成代理能力。
- 超时、响应体大小和 JSON 结构均在 Adapter 层限制;异常只返回脱敏 warning。
- AKTools 不直接对外开放;若未来扩展到多机内网,必须增加访问控制和反向代理认证。
- 不保存 AKShare 原始载荷、不记录真实内网地址、不提交凭据。
性能目标与评估
三个上游请求使用 Promise.allSettled 并行执行,单请求超时 10 秒,短线接口 P95 目标小于 12 秒。由于 V1 不持久化、不缓存,性能风险主要是 AKShare 上游限流和网络延迟;通过超时、部分结果和独立降级控制影响面。
错误处理与回退
AKTools 完全不可用时短线响应为 unavailable,TDX 响应不受影响。单个接口失败时返回 partial 并保留其他有效模块。回退只关闭 AKTools 功能开关和相关路由,不删除 TDX 代码。
架构同步
需要同步 OpenAPI DTO、Web API 类型、开发/生产环境模板、API 健康检查说明、测试和功能档案;不修改消息、数据库、Redis、Scheduler、Worker。