节点在线、应用在线、配置在线使用令牌查询
大石头 authored at 2021-12-16 19:49:30
10.36 KiB
Stardust
# 架构设计 > 版本: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 一行代码接入 | 零改造集成