Blame view

docs/SERVICE_MATRIX.md 2.27 KB
d1d356f8   tangwang   脚本优化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
  # 服务矩阵(Service Matrix)
  
  本文档定义当前项目的服务分层、默认启动策略与脚本入口。
  
  ## 1. 服务分层
  
  | 服务 | 角色 | 默认端口 | 是否默认启动 | 启动脚本 | 停止方式 |
  |---|---|---:|---|---|---|
  | backend | 核心搜索 API | 6002 | 是 | `scripts/start_backend.sh` | `scripts/service_ctl.sh stop backend` |
  | indexer | 核心索引 API | 6004 | 是 | `scripts/start_indexer.sh` | `scripts/service_ctl.sh stop indexer` |
  | frontend | 调试 UI | 6003 | 是 | `scripts/start_frontend.sh` | `scripts/service_ctl.sh stop frontend` |
  | embedding | 向量服务(文本/图片) | 6005 | 否(按需) | `scripts/start_embedding_service.sh` | `scripts/service_ctl.sh stop embedding` |
  | translator | 翻译服务(qwen/deepl) | 6006 | 否(按需) | `scripts/start_translator.sh` | `scripts/service_ctl.sh stop translator` |
  | reranker | 重排服务(BGE) | 6007 | 否(按需) | `scripts/start_reranker.sh` | `scripts/service_ctl.sh stop reranker` |
  | clip | CLIP 替代服务(legacy/可选) | 51000 | 否(按需) | `scripts/start_clip_service.sh` | `scripts/service_ctl.sh stop clip` |
  | cnclip | CN-CLIP gRPC 服务(legacy/可选) | 51000 | 否(按需) | `scripts/start_cnclip_service.sh` | `scripts/service_ctl.sh stop cnclip` |
  
  > 说明:`clip` 与 `cnclip` 都是 legacy 服务,脚本内部自带后台化与 PID 管理,`service_ctl.sh` 仅做编排与委托。
  
  ## 2. 统一控制入口
  
  - 推荐统一入口:`scripts/service_ctl.sh`
  - 支持命令:`start` / `stop` / `restart` / `status`
  
  示例:
  
  ```bash
  # 启动核心服务(backend/indexer/frontend)
  ./scripts/service_ctl.sh start
  
  # 启动指定服务
  ./scripts/service_ctl.sh start backend indexer frontend translator reranker
  
  # 查看所有服务状态
  ./scripts/service_ctl.sh status
  
  # 停止全部已知服务
  ./scripts/service_ctl.sh stop
  ```
  
  ## 3. 默认与可选服务策略
  
  - `./run.sh` 默认只启动核心服务:`backend/indexer/frontend`
  - 如需启动可选能力,使用环境变量:
  
  ```bash
  START_EMBEDDING=1 START_TRANSLATOR=1 START_RERANKER=1 ./run.sh
  ```
  
  ## 4. 兼容入口
  
  以下脚本仍保留,用于兼容旧习惯,但内部已委托到统一控制脚本:
  
  - `run.sh`
  - `restart.sh`
  - `scripts/start.sh`
  - `scripts/stop.sh`