节点在线、应用在线、配置在线使用令牌查询
|
# 架构设计
> 版本:v3.1 | 日期:2026-07-29
本文档是星尘(Stardust)分布式服务平台架构文档的**总索引**。星尘由多个独立工程组成,每个主要工程有独立架构文档,核心子模块也有独立的详细架构文档。
---
## 文档体系
```
Doc/
├─ 架构设计.md .................. 本文(总索引)
│
├─ 需求文档.md .................. 统一需求文档
├─ 功能清单.md .................. 集中功能清单
│
├─ ★ 主要组件架构
├─ SVR-StarServer架构.md .......... SVR/PLT/APP/CFG/REG/LOG/DBM StarServer 核心
├─ SDK-分布式核心SDK架构.md ...... SDK Stardust SDK
├─ NODE-StarAgent架构.md ......... NODE StarAgent 节点代理
├─ APM-监控系统架构.md ........... APM 监控中心/APM
├─ PUB-远程发布架构.md ........... PUB 远程发布
├─ GW-网关架构.md ................ GW 网关
├─ MCP-MCP架构.md ................ MCP MCP HTTP 服务
│
├─ ★ MCP 子模块
├─ MCP-1-token管理.md ............ MCP Token 凭证与资源授权管理
├─ MCP-2-action扩展.md ........... MCP Action 扩展指南
│
├─ ★ NODE 子模块(StarAgent)
├─ NODE-9-指令下发.md ........... 指令下发双通道架构
├─ NODE-14-防火墙管理.md ........ 防火墙规则管理
├─ NODE-15-StarAgent远程部署.md .. Agent远程部署
├─ NODE-16-阿里云DNS动态域名解析.md 多供应商 DDNS
├─ NODE-17-进程管理.md .......... 进程启动研究
├─ NODE-19-域名供应商管理.md .... 域名供应商凭据配置
│
├─ ★ APM 子模块(监控中心)
├─ APM-3-链路追踪统计.md ........ 追踪统计性能分析
├─ APM-17-监控接入API.md ........ 非 .NET 平台接入 API
│
├─ ★ PUB 子模块(远程发布)
├─ PUB-19-应用包规范.md .......... 应用包格式
├─ PUB-20-部署代理.md ............ DeployAgent 指南
├─ PUB-21-分布式文件存储.md ...... 文件存储设计
│
├─ ★ GW 子模块(网关)
├─ GW-网关架构.md ............... 网关总架构
├─ GW-7-网关竞品分析.md .......... 竞品对比(文档码 DOC-GW-7)
├─ GW-8-网关使用指南.md .......... 安装配置(文档码 DOC-GW-8)
(已合并到 功能清单.md §GW)
│
├─ ★ SVR 子模块(基础能力)
├─ SVR-8-远程命令执行安全.md .... 安全方案
│
├─ ★ 其他相关
├─ Release-v3.7.2026.0201.md .... 版本发布说明
└─ README_架构分析.md ........... 架构分析文档索引
```
---
## 模块-文档映射
| 模块 | 架构文档 | 说明 |
|------|----------|------|
| **SDK** 分布式核心 SDK | [SDK-分布式核心SDK架构](/NewLife/Stardust/Blob/master/Doc/SDK-分布式核心SDK架构.md) | 客户端 SDK 总架构 |
| **SVR** 服务端基础能力 | [SVR-StarServer架构](/NewLife/Stardust/Blob/master/Doc/SVR-StarServer架构.md) | 服务端基础设施 |
| SVR-8 远程命令执行安全 | [SVR-8-远程命令执行安全](/NewLife/Stardust/Blob/master/Doc/SVR-8-远程命令执行安全.md) | 安全方案 |
| **PLT** 平台管理 | [SVR-StarServer架构](/NewLife/Stardust/Blob/master/Doc/SVR-StarServer架构.md) | OAuth/项目/设置 |
| **APP** 应用管理 | [SVR-StarServer架构](/NewLife/Stardust/Blob/master/Doc/SVR-StarServer架构.md) | 应用生命周期管理 |
| **NODE** 节点管理 | [NODE-StarAgent架构](/NewLife/Stardust/Blob/master/Doc/NODE-StarAgent架构.md) | StarAgent 总架构 |
| NODE-9 节点命令下发 | [NODE-9-指令下发](/NewLife/Stardust/Blob/master/Doc/NODE-9-指令下发.md) | WebSocket 双通道指令下发 |
| NODE-14 防火墙管理 | [NODE-14-防火墙管理](/NewLife/Stardust/Blob/master/Doc/NODE-14-防火墙管理.md) | 节点防火墙规则管理 |
| NODE-15 Agent远程部署 | [NODE-15-StarAgent远程部署](/NewLife/Stardust/Blob/master/Doc/NODE-15-StarAgent远程部署.md) | 远程部署 StarAgent |
| NODE-16 多供应商 DNS DDNS | [NODE-16-阿里云DNS动态域名解析](/NewLife/Stardust/Blob/master/Doc/NODE-16-阿里云DNS动态域名解析.md) | 动态域名解析(阿里云/腾讯云(DNSPod)/优刻得(UDNS)/AWS Route53 四家供应商) |
| NODE-17 进程管理 | [NODE-17-进程管理](/NewLife/Stardust/Blob/master/Doc/NODE-17-进程管理.md) | 进程启动行为研究 |
| NODE-18 Web管理面板 | [NODE-StarAgent架构#6-web-管理面板](/NewLife/Stardust/Blob/master/Doc/NODE-StarAgent架构.md#6-web-管理面板) | StarAgent Web 管理面板 |
| NODE-19 域名供应商管理 | — | 管理DNS供应商凭据配置(阿里云/AWS Route53等) |
| **CFG** 配置中心 | [SVR-StarServer架构](/NewLife/Stardust/Blob/master/Doc/SVR-StarServer架构.md) | 应用配置管理 |
| **REG** 注册中心与服务发现 | [SVR-StarServer架构](/NewLife/Stardust/Blob/master/Doc/SVR-StarServer架构.md) | 服务注册与发现 |
| **APM** 监控中心/APM | [APM-监控系统架构](/NewLife/Stardust/Blob/master/Doc/APM-监控系统架构.md) | APM 整体架构 |
| APM-3 追踪统计服务 | [APM-3-链路追踪统计](/NewLife/Stardust/Blob/master/Doc/APM-3-链路追踪统计.md) | 追踪统计性能瓶颈分析 |
| APM-17 监控接入 API | [APM-17-监控接入API](/NewLife/Stardust/Blob/master/Doc/APM-17-监控接入API.md) | 非 .NET 平台接入 API |
| **LOG** 日志中心 | [SVR-StarServer架构](/NewLife/Stardust/Blob/master/Doc/SVR-StarServer架构.md) | 日志采集与查询 |
| **PUB** 远程发布 | [PUB-远程发布架构](/NewLife/Stardust/Blob/master/Doc/PUB-远程发布架构.md) | 发布系统总架构 |
| PUB-19 应用包规范 | [PUB-19-应用包规范](/NewLife/Stardust/Blob/master/Doc/PUB-19-应用包规范.md) | 应用包格式与规范 |
| PUB-20 部署代理 | [PUB-20-部署代理](/NewLife/Stardust/Blob/master/Doc/PUB-20-部署代理.md) | DeployAgent 使用指南 |
| PUB-21 分布式文件存储 | [PUB-21-分布式文件存储](/NewLife/Stardust/Blob/master/Doc/PUB-21-分布式文件存储.md) | 文件存储设计 |
| PUB-22 Nginx站点管理 | — | StarAgent管理Nginx站点配置,属远程发布体系 |
| **GW** 网关管理 | [GW-网关架构](/NewLife/Stardust/Blob/master/Doc/GW-网关架构.md) | 网关总架构 |
| DOC-GW-7 网关竞品分析 | [GW-7-网关竞品分析](/NewLife/Stardust/Blob/master/Doc/GW-7-网关竞品分析.md) | 竞品对比 |
| DOC-GW-8 网关使用指南 | [GW-8-网关使用指南](/NewLife/Stardust/Blob/master/Doc/GW-8-网关使用指南.md) | 安装配置使用 |
| **DBM** Redis/MySQL 管理 | [SVR-StarServer架构](/NewLife/Stardust/Blob/master/Doc/SVR-StarServer架构.md) | 数据中间件管理 |
| **MCP** MCP 工具服务能力 | [MCP-MCP架构](/NewLife/Stardust/Blob/master/Doc/MCP-MCP架构.md) | MCP HTTP 服务,面向 LLM/智能体的标准协议入口 |
| MCP-1 Token 管理 | [MCP-1-token管理](/NewLife/Stardust/Blob/master/Doc/MCP-1-token管理.md) | Token 凭证与资源授权管理 |
| MCP-2 Action 扩展 | [MCP-2-action扩展](/NewLife/Stardust/Blob/master/Doc/MCP-2-action扩展.md) | Action 扩展开发指南 |
---
## 系统整体拓扑
```
┌─────────────────┐
│ StarWeb / StarWeb.Vue │
│ (管理界面) │
│ Cube + Vue3 双前端 │
└────────┬────────┘
│ HTTP
┌────────┴────────┐
│ StarServer │
│ (API 服务端) │
│ 6600 端口 │
└────────┬────────┘
│
┌────────────────────────┼────────────────────────┐
│ │ │
▼ ▼ ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ StarAgent │ │ StarAgent │ │ StarAgent │
│ (节点守护) │ ... │ (节点守护) │ ... │ (节点守护) │
│ 进程管理 │ │ 进程管理 │ │ 进程管理 │
│ 监控采集 │ │ 监控采集 │ │ 监控采集 │
│ 远程部署 │ │ 远程部署 │ │ 远程部署 │
└───────┬───────┘ └───────┬───────┘ └───────┬───────┘
│ │ │
▼ ▼ ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ 业务应用 A │ │ 业务应用 B │ │ 业务应用 C │
│ (Stardust SDK)│ │ (Stardust SDK)│ │ (Stardust SDK)│
│配置/注册/追踪 │ │配置/注册/追踪 │ │配置/注册/追踪 │
└───────────────┘ └───────────────┘ └───────────────┘
```
---
## 项目依赖关系
```
Stardust (核心库) ←── Stardust.Extensions (ASP.NET Core扩展)
↑
Stardust.Data (数据层) ←── Stardust.Server (服务端API)
↑
Stardust.Web (管理界面)
```
各独立工程:
- **StarGateway** → 引用 Stardust (SDK),通过 API 与 StarServer 交互
- **StarAgent** → 引用 Stardust (SDK),通过 API 与 StarServer 交互
- **DeployAgent** → 部署代理,通过 API 与 StarServer 交互
- **Stardust.Web.Vue** → Vue 3 前端(基于 Vite),与 Cube 共存,提供现代化管理界面
---
## 服务端核心组件
| 组件 | 类名 | 职责 |
|------|------|------|
| DDNS核心服务 | `DnsService` | 定时检测节点IP变化,自动触发DNS记录更新 |
| DNS供应商工厂 | `DnsProviderFactory` | 管理多供应商(阿里云/腾讯云/优刻得/AWS)路由 |
| 告警服务 | `AlarmService` | 定时检查应用/节点/Redis健康状态,触发钉钉/企微通知 |
| 监控推送服务 | `MonitorService` | 通过 WebHook 将追踪数据推送到外部告警系统 |
| 网关配置服务 | `GatewayService` | 管理网关路由/集群配置下发 |
| 部署代理服务 | `AgentDeployService` | StarAgent 远程部署管理 |
## 关键决策(跨模块)
| 决策 | 选择 | 说明 |
|------|------|------|
| 数据采集模式 | 客户端采样+统计,服务端汇总 | 降低 90%+ 网络传输和存储成本 |
| 统计计算 | 流式(5秒)+批计算(30秒)双模式 | 实时性 + 最终一致性 |
| 部署模式 | Standard/Shadow/Hosted/Task | 适应不同应用场景 |
| 数据清理 | Truncate/Delete 双模式 | 灵活适配数据库权限 |
| 通信协议 | HTTP + WebSocket 双通道 | 心跳/API 走 HTTP,命令走 WebSocket |
| 客户端接入 | AddStardust/UseStardust 一行代码接入 | 零改造集成
|