mars-cloud
第 1 步 / 共 5 步
系统总览
三类
- 一次请求
从 门户 经 网关 到 产品服务
服务之间
第 2 步 / 共 5 步
统一登录
门户 → 统一登录页 → PKCE 换令牌 → 单点登录
- 访客
在 门户 点 登录 - 跳到
认证服务 的 统一登录页 (登录页 与 认证服务 同源, 按 客户端 切换 品牌) - 授权码
加 PKCE 换令牌, 访问令牌 只在内存 - 再打开
词易背 时 静默续期、 不再登录 (单点登录)
桌面
mars-cloud 架构图
客户端
网页
macOS
HarmonyOS
网关
服务
- 各
用 独立 数据库
基础设施
统一门户:
flippoabc.com,
双语绘本:
儿童
词易背:
面向
好奇实验室:
拖动
管理后台:
运营
青鸾个人助手:
macOS 桌面 AI 工作台;
小语灵 App:
HarmonyOS 韩语
统一入口:
所有
认证:
基于 Spring Authorization Server 的 OIDC 认证
- Feign 同步读:认证 → 管理权限
(请求 权限 判定); - RocketMQ 事务消息:认证 → 通知、
管理权限、 LingAI 与 AI 咨询 (账号 注销, 各自 清理 数据 并 回报)
管理权限:
只
- Feign 同步读:认证 → 管理权限
(请求 通知 → 管理权限权限 判定); (请求 权限 判定); - RocketMQ 事务消息:认证 → 管理权限
(账号 注销, 各自 清理 数据 并 回报)
产品权益:
产品
- RocketMQ 事务消息:订单 → 产品权益
(支付 成功 后 发放 权益)
订单:
订单
- RocketMQ 事务消息:订单 → 产品权益
(支付 成功 后 发放 权益)
通知:
站内
- Feign 同步读:通知 → 管理权限
(请求 权限 判定); - RocketMQ 事务消息:认证 → 通知
(账号 注销, 各自 清理 数据 并 回报)
LingAI 与 AI 咨询:
LingAI:
- RocketMQ 事务消息:认证 → LingAI 与 AI 咨询
(账号 注销, 各自 清理 数据 并 回报)
Nacos:
配置
RocketMQ:
跨服务写
- RocketMQ 事务消息:认证 → 通知、
管理权限、 订单 → 产品权益LingAI 与 AI 咨询 (账号 注销, 各自 清理 数据 并 回报); (支付 成功 后 发放 权益)
MySQL:
每个
Redis:
登录
xxl-job:
周期
阿里云日志服务:
集中
光点:请求与数据的流向
箭头:请求与数据的流向
第 3 步 / 共 5 步
框架分层
官方
不改
第 4 步 / 共 5 步
一次请求经过的框架能力
- 管理后台
带 访问令牌 请求 通知 列表, 进入 网关。 - 网关
验签 (security starter, WebFlux 装配)。 - 网关
查 会话撤销 名单 (网关 自身 代码, 不算 框架能力)。 - 按
客户端 地址 限流, 规则 来自 Nacos (sentinel starter)。 - 经 Nacos 发现
实例 并 转发, 透传 链路 上下文 (nacos starter、 observability starter)。 - 通知
服务 再次 验签、 建立 调用方 身份, 再做 方法 鉴权 (security starter, Servlet 装配)。 - 经 Feign 向
管理权限 服务 请求 判定, 只 转发 当前 令牌 (security-feign、 feign starter)。 - 包装
成 统一 响应 信封, 异常 转 错误码; 日志 带 traceId (mvc starter、 observability starter)。
第 5 步 / 共 5 步
跨服务写:账号注销的事务消息
- 认证服务
经 事务 发布 模板 发送 半消息 (rocketmq starter)。 - 执行
本地 事务 后 提交; 失败 回滚, 结果未定时 由 消息队列 回查 (rocketmq starter)。 - 通知、
管理权限、 LingAI 三个 服务 各自 消费, 恢复 链路 与 调用方 身份 (rocketmq starter)。 - 各
服务 按 业务键 幂等 清理 本 服务 数据 (服务 自身 代码)。 - 用
事务消息 回报 清理 结果, 认证服务 汇总 (rocketmq starter)。 - 消费
失败 由 消息队列 重投 最多 16 次, 之后 进入 死信队列 (rocketmq starter 默认值)。
mars-cloud 框架图
服务层
mars-cloud-framework
契约与基础
服务治理
安全
底座
Java 25 · Spring Boot 4 · Spring Cloud 2025.1 · Spring Cloud Alibaba 2025.1 · Spring AI 2
common:
不
core:
基于 Spring Boot 自动
mvc:
基于 Spring Web MVC。
mysql:
基于 MyBatis
nacos:
基于 Spring Cloud Alibaba Nacos。
feign:
基于 Spring Cloud OpenFeign 与 LoadBalancer。
sentinel:
基于 Spring Cloud Alibaba Sentinel。
rocketmq:
基于 Spring Cloud Stream 的 RocketMQ 绑定。
job:
自己
observability:
基于 Actuator、
security:
基于 Spring Security OAuth2 资源
security-feign:
组合 security 与 feign。
security-test-support:
测试
dependencies:
导入
管理后台:
运营
网关:
所有
通知:
站内
管理权限:
只
认证:
基于 Spring Authorization Server 的 OIDC 认证
RocketMQ:
跨服务写
LingAI:
LingAI:
光点:请求与数据的流向
箭头:请求与数据的流向







