管理端全部功能跑通

This commit is contained in:
robin
2026-02-27 10:35:22 +08:00
parent 4d275c921d
commit 150799f41d
263 changed files with 22664 additions and 4053 deletions

View File

@@ -2,7 +2,7 @@
## 0. 文档信息
- 目标文件:`EdgeHttpDNS/HTTPDNS后端开发计划.md`
- 交付范围:`EdgeAdmin + EdgeAPI + EdgeNode + SDK对接接口`
- 交付范围:`EdgeAdmin + EdgeAPI + EdgeHttpDNS + SDK对接接口`
- 交付策略:一次性全量交付(非分阶段)
- 核心约束:
- 仅新协议
@@ -12,6 +12,7 @@
- 独立 `edgeHTTPDNS*` 数据表
- 新增独立节点角色 `NodeRoleHTTPDNS`
- 访问日志 MySQL + ClickHouse 双写(查询优先 ClickHouse
- 不复用智能DNSEdgeDNS/NS模块的 DAO/Service/StoreHTTPDNS 独立实现(可参考并复制所需能力)
## 1. 目标与成功标准
1. 将 HTTPDNS 从当前 Admin 侧 mock/store 方案落地为真实后端能力。
@@ -26,13 +27,13 @@
- 访问日志与运行日志可查询、可筛选、可分页
- 节点配置与状态可下发和回传
- 主备集群服务域名可在应用设置中配置并生效
- EdgeNode 支持 SNI 与 Host 解耦路由,并可执行 WAF 动态验签与隐匿 SNI 转发
- EdgeHttpDNS 支持 SNI 与 Host 解耦路由,并可执行 WAF 动态验签与隐匿 SNI 转发
## 2. 架构与边界
### 2.1 服务边界
1. EdgeAdmin仅负责页面动作与 RPC 编排,不存业务状态。
2. EdgeAPI负责数据存储、策略匹配、接口服务、日志汇聚。
3. EdgeNodeHTTPDNS节点负责执行解析、接收策略任务、上报运行日志/访问日志,并执行 SNI/Host 解耦路由、WAF 动态验签、隐匿 SNI 转发
3. EdgeHttpDNSHTTPDNS节点负责执行解析、上报运行日志/访问日志、接收任务
4. SDK手动配置应用关联主备服务域名调用 `/resolve` 获取结果。
### 2.2 不做项
@@ -85,13 +86,13 @@
- 日志:访问日志分页查询、运行日志分页查询
- 测试:在线解析测试调用(入参包含 appId、clusterId、domain、qtype、clientIp
### 3.3 节点日志上报 RPCEdgeNode -> EdgeAPI
### 3.3 节点日志上报 RPCEdgeHttpDNS -> EdgeAPI
1. `CreateHTTPDNSAccessLogs`(批量)
2. `CreateHTTPDNSRuntimeLogs`(批量)
3. 幂等键:`requestId + nodeId`
4. 支持高吞吐批量提交和失败重试
### 3.4 节点路由与 WAF 策略下发契约EdgeAPI -> EdgeNode
### 3.4 节点路由与 WAF 策略下发契约EdgeAPI -> EdgeHttpDNS
1. 下发内容最小集合:
- `appId/domain/serviceDomain`
- `sniMode`(固定为隐匿 SNI
@@ -168,7 +169,7 @@
- 规则变更
- 证书变更
- 路由与 WAF 策略变更
3. EdgeNode 增加 HTTPDNS 子服务:
3. EdgeHttpDNS 增加 HTTPDNS 子服务:
- 接收配置快照
- 执行解析
- 上报运行/访问日志
@@ -215,7 +216,7 @@
2. `/resolve` 各错误码分支
3. 节点日志上报双写MySQL+CH
4. CH 不可用时 MySQL 回退查询
5. EdgeAPI 策略下发 -> EdgeNode 路由/WAF 执行 -> 日志落库全链路
5. EdgeAPI 策略下发 -> EdgeHttpDNS 路由/WAF 执行 -> 日志落库全链路
### 9.3 回归测试
1. 智能DNS功能不受影响
@@ -228,14 +229,14 @@
3. 自定义解析按线路返回预期 IP
4. 访问日志筛选与概要展示正确
5. 运行日志级别/字段与智能DNS一致
6. EdgeNode 可在 SNI 与 Host 解耦场景下正确路由到目标应用
6. EdgeHttpDNS 可在 SNI 与 Host 解耦场景下正确路由到目标应用
7. 开启 WAF 动态验签后,合法请求通过、非法签名请求被拒绝且有审计日志
## 10. 发布与回滚
1. 发布顺序:
- DB migration
- EdgeAPIDAO+RPC+resolve
- EdgeNode(角色+上报)
- EdgeHttpDNS(角色+上报)
- EdgeAdminRPC切换
2. 开关控制:
- `httpdns.resolve.enabled`