feat: 重组项目结构并完善运行管理

This commit is contained in:
chuan
2026-08-10 15:00:39 +08:00
parent ea4625e5da
commit 28fa69e614
127 changed files with 3927 additions and 1079 deletions
+19 -5
View File
@@ -16,11 +16,14 @@
## 当前技术方向
- `dht-crawler` 负责可复用的 DHT 协议节点发现 Peer 查找和 Metadata 下载
- `dht-search` 负责持久化去重索引搜索接口配置和运行生命周期
- `src/crawler` 负责可复用的 DHT 协议节点发现 Peer 查找和 Metadata 下载
- `src/search` 负责持久化去重索引搜索接口配置和运行生命周期
- `src/web` 负责最终用户搜索诊断和配置管理界面
- RocksDB 保存权威数据去重信息和任务状态
- Tantivy 保存可以从 RocksDB 重建的搜索索引
- Axum 提供搜索详情统计和健康检查接口
- 用户配置使用强类型 DTO 表达 TOML 只是当前持久化适配器
- SQLite 保存有明确保留上限且可安全删除的运行诊断历史
- 所有长期任务通过有界队列和背压控制资源占用
如果实际运行证明 RocksDB 的构建部署或资源成本不合适可以重新评估 redb SQLite 或其他存储方案
@@ -33,7 +36,7 @@
### 任务
- [x]workspace 扁平化为 `dht-crawler``dht-search`
- [x]crawler search 和 web 源码统一收纳到根目录 `src`
- [x] 使用当前 Git 配置统一作者仓库许可证和 edition 元数据
- [x] 编写 `AGENTS.md` 记录架构边界和开发约定
- [x] 将最终应用与可复用 DHT 基础库分离
@@ -183,7 +186,7 @@
- [x] 修复一键启动脚本只停止父进程导致 Vite 子进程残留的问题
- [x] 定义统一错误响应
- [x] 限制查询长度分页大小和最大 offset
- [ ] 增加请求延迟错误率和并发指标
- [x] 增加请求延迟错误率和并发指标
- [x] 增加搜索详情字段和按需验证入队 API 端到端测试
- [x] 增加搜索过滤折叠精确哈希和变体接口测试
@@ -333,7 +336,18 @@
- [x] 将规模基准拆分为参数数据集工作负载采样报告和编排模块
- [x] 明确单元组件集成端到端和性能测试层级并增加公开 API 集成测试
- [x] 实现可回滚的无效文件过滤并重建有效内容聚合和搜索索引
- [x] 将 crawler search 和 web 统一迁移到根目录 `src` 并修复构建脚本文档路径
- [x] 使用领域 Metadata DTO 切断领域层对 DHT 传输 DTO 的直接依赖
- [x] 将配置拆分为可序列化 DTO TOML 读取适配器和运行时解析结果
- [x] 使用独立 SQLite 建立有界运行诊断历史存储
- [x] 采集进程 RocksDB Tantivy DHT 队列和磁盘资源快照
- [x] 提供当前诊断快照和原始或分钟历史查询接口
- [x] 将 HTTP 请求并发客户端错误服务端错误和延迟分布写入诊断历史
- [x] 增加配置查询完整校验原子保存并发修订和统一重启提示
- [x] 增加 Web 诊断页和配置管理页
完成二十四小时持续运行并继续观察私有内存 Metadata 成功率候选队列深度和每条成功 Metadata 的网络成本
随后补充 RocksDB Tantivy 内部资源指标并根据实测继续调优
RocksDB Tantivy HTTP 和进程资源指标已经接入诊断历史 后续根据长期实测继续调优
下一轮结构优化优先拆分 crawler 中的运行统计调度器和抓取引擎以及 search 中的 RocksDB 适配器 不为拆分而新增 crate