Skip to main content
MoleSignal 以一个支持角色组合的 Rust 服务和一个 React Web 应用交付。Rust 代码保持单一 Crate,同时执行清晰的模块边界。

分层

基础设施通过领域和应用契约向内依赖。领域代码不依赖 Axum、SQLx、对象存储客户端或 Web DTO。

装配

src/bootstrap/bootstrap.rsbuild_state 总编排入口。内聚的 builder 直接放在 src/bootstrap/ 下,包括 corestoragequeryiamalertingagenttracingplatform;角色生命周期和 Worker 启动分别归入专属的 roles/workers/ 模块。 顶层 AppState 暴露核心应用服务,以及 alerting、IAM、telemetry、storage、cluster、 platform 和 Agent 等功能状态分组。Handler 因此按功能访问依赖,不再把每个基础设施 Repository 平铺成一个全局容器。

运行角色

[node].roles 设置会在进程中组合一个或多个角色: 所有角色使用同一个二进制与配置模型。修改角色后需要重启。

数据路径

PostgreSQL 保存元数据与产品资源。对象存储保存 Parquet、性能剖析文件、导出文件与大型 Agent 证据。本地磁盘用于 WAL 与可选缓存。

控制平面与 Worker 平面

后台 Worker 负责压缩、告警评估、数据管道运行、搜索任务、报告、服务图聚合、试用、ACME 与遥测维护。任务所有权由所选角色决定,避免所有重复进程执行同一工作。

授权

身份验证生成 IAM 上下文。授权读取数据库中的权限、角色、资源关系与显式跨组织授权。资源 Handler 在变更前先加载目标、验证组织所有权,并授权所请求操作。

Web 架构

React Router 定义所有产品路由。产品信息架构元数据与访问能力快照共同控制导航发现。路由即使被隐藏,后端权限检查仍然有效。 查询页面共享时间上下文和信号关联契约。设置与 IAM 分别使用组织范围和系统范围。

核心概念

了解信号、数据流、组织与存储。

分布式部署

使用 Docker Compose 或 Kubernetes 部署不同角色。
最后修改于 2026年8月9日