# Ydsz Cloud **Repository Path**: noodle-framework/ydsz-cloud ## Basic Information - **Project Name**: Ydsz Cloud - **Description**: Ydsz Cloud 即云顶数字-快速开发平台的后端微服务代码仓库。 - **Primary Language**: Java - **License**: MIT - **Default Branch**: main - **Homepage**: https://njydsz.com - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 76 - **Created**: 2026-08-07 - **Last Updated**: 2026-08-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

Remi Cloud

基于 Spring Boot 4 & Spring Cloud 的企业级微服务开发平台

JDK 21 Spring Boot 4.1.0 Spring Cloud 2025.1.2 Spring Cloud Alibaba License: MIT Maven 3.9+

--- ## 项目简介 **Remi-Cloud** 是一套面向企业级应用的微服务快速开发平台,基于 **Spring Boot 4.1.0**、**Spring Cloud 2025.1.2** 和 **Spring Cloud Alibaba 2025.1.0.0** 构建。平台采用 **DDD(领域驱动设计)** 五层分层架构,内置 **10 大核心模块**(1 网关 + 8 微服务 + 1 公共依赖库),覆盖用户认证、系统管理、流程引擎、消息引擎、任务引擎、规则引擎、网盘引擎、智能引擎等企业级全业务场景。 平台对标 **若依(RuoYi)**、**Pig**、**maku-boot**、**SpringBlade**、**JeecgBoot** 等主流开源快速开发平台,在架构设计、代码质量、工程规范与安全治理方面对齐 **阿里巴巴 Java 开发手册**、**Google Java Style Guide** 等行业标准。 ### 核心特性 - **前沿技术栈**:Java 21 虚拟线程 + Spring Boot 4 + Spring Cloud 2025.1.2 + Jakarta EE 10 - **DDD 分层架构**:严格 `api` / `domain` / `infra` / `server` / `web` 五层分离,依赖方向单向收敛 - **自研引擎矩阵**:「规则引擎(对标 Drools + LiteFlow)+ 任务调度(对标 XXL-Job + PowerJob)+ 工作流(BPMN 2.0)+ AI Agent 框架」——四大引擎全部自研,开箱即用 - **多租户隔离**:支持 SINGLE(共享表)、MULTI(字段隔离)、ISOLATE_DB(独立数据库)三种策略 - **全渠道消息**:12 种通知渠道(短信/邮件/Push/企微/钉钉/飞书/微信小程序/支付宝小程序等),支持 DAG 编排与跨渠道抑制 - **安全纵深防御**:JWT + RBAC + 数据权限 + PII 脱敏 + XSS/SQL 注入/CSRF 防护 + 敏感配置加密(AES-256-GCM) - **生产可观测**:Prometheus + Grafana + Sentry + ELK/Loki + Micrometer Tracing(W3C TraceContext) --- ## 系统架构 ```mermaid graph TB subgraph "接入层" Nginx[Nginx / LB] end subgraph "网关层" Gateway["Remi-Gateway :9000
Spring Cloud Gateway + WebFlux
路由 · 鉴权 · 限流 · 灰度"] end subgraph "注册中心 & 配置中心" Nacos[Nacos Server] end subgraph "业务服务层" UserInfo["Remi-UserInfo :9001
用户认证 / RBAC / OAuth2"] System["Remi-System :9002
系统参数 / 字典 / 多租户"] NextWiki["Remi-NextWiki :9003
网盘 / 知识库 / Office 预览"] Message["Remi-Message :9004
消息通知 / 12 渠道 / DAG 编排"] Workflow["Remi-Workflow :9005
BPMN 2.0 / 审批流 / 决策表"] CronJob["Remi-CronJob :9006
分布式调度 / 分片 / DAG"] LiteRule["Remi-LiteRule :9007
规则引擎 / DSL / 热加载"] Agent["Remi-Agent :9008
AI 智能体 / RAG / Tool Calling"] end subgraph "中间件" PG[(PostgreSQL)] Redis[(Redis)] RMQ[RocketMQ] MinIO[MinIO / OSS] end subgraph "公共能力底座" Common["Remi-Common(30 子模块)
Core · Util · Auth · Safe · Feign · Lock · Cache · Excel · Docs · ..."] end subgraph "可观测性" Prom[Prometheus] Grafana[Grafana] Sentry[Sentry] ELK[ELK / Loki] end Nginx --> Gateway Gateway --> UserInfo & System & NextWiki & Message & Workflow & CronJob & LiteRule & Agent UserInfo & System & NextWiki & Message & Workflow & CronJob & LiteRule & Agent -.-> Nacos UserInfo & System & NextWiki & Message & Workflow & CronJob & LiteRule & Agent --> PG & Redis & RMQ & MinIO UserInfo & System & NextWiki & Message & Workflow & CronJob & LiteRule & Agent -.-> Common Gateway -.-> Common UserInfo & System & NextWiki & Message & Workflow & CronJob & LiteRule & Agent --> Prom & Sentry Prom --> Grafana Sentry --> ELK ``` --- ## 技术选型 | 分层 | 技术 | 版本 | 说明 | |------|------|------|------| | **基础框架** | Spring Boot | 4.1.0 | 新一代企业级应用框架 | | | Spring Cloud | 2025.1.2 | 微服务治理套件 | | | Spring Cloud Alibaba | 2025.1.0.0 | Nacos / Sentinel / Seata | | **语言 & 构建** | Java | 21 (LTS) | 虚拟线程 + 模式匹配 | | | Maven | 3.9+ | 聚合多模块构建 | | **数据持久化** | MyBatis-Plus | 3.5.16 | 增强 ORM(Spring Boot 4 Starter) | | | PostgreSQL | 42.7.4 | 主数据库(共享主库) | | | Druid | 1.2.28 | 连接池 | | | Dynamic-Datasource | 4.3.1 | 读写分离 | | **缓存 & 锁** | Redis / Redisson | 4.6.1 | 分布式缓存 / 分布式锁 | | **消息队列** | RocketMQ Spring | 2.3.1 | 异步消息 / 事务消息 | | **分布式事务** | Seata | 2.5.0 | AT / TCC / SAGA | | **流量控制** | Sentinel | 1.8.9 | 限流 / 熔断 / 降级 | | | Resilience4j | 2.4.0 | 重试 / 舱壁 / 速率限制 | | **对象存储** | MinIO / 阿里云 OSS / 腾讯云 COS / 华为云 OBS / 七牛 / AWS S3 | — | 7 种存储平台统一抽象 | | **认证鉴权** | jjwt | 0.12.6 | JWT Token | | **文档 & API** | SpringDoc + Knife4j | 3.0.3 / 4.5.0 | OpenAPI 3.0 文档 | | **对象映射** | MapStruct | 1.6.3 | 编译期代码生成 | | **JSON** | remi-common-json
(RemiJson) | 自研 | 零外部依赖 · ASM 字节码 · SIMD 向量化 | | **监控** | Micrometer + Prometheus + Sentry | — | 指标采集 / 异常追踪 | | **日志** | Logback + Logstash Encoder | 7.4 | JSON 格式日志输出 | --- ## 模块说明 ``` remi-cloud/ ├── remi-common/ # 🧱 公共能力底座(30 子模块,不独立部署) │ ├── remi-common-core # L1:统一响应 / TraceId / 特性开关 │ ├── remi-common-util # L2:99 工具类(加密 / IP / 雪花ID) │ ├── remi-common-json # L2:高性能 JSON 引擎(ASM / SIMD) │ ├── remi-common-domain # L3:DDD 基类 / 领域事件 │ ├── remi-common-exception # L3:统一异常 / RFC 7807 ProblemDetail │ ├── remi-common-jdbc # L4:MyBatis-Plus 增强 / 行权限 │ ├── remi-common-redis # L4:Redis 操作封装(15 种 ops) │ ├── remi-common-lock # L4:分布式锁(4 种实现)/ 幂等 │ ├── remi-common-cache # L4:多策略本地缓存(W-TinyLFU) │ ├── remi-common-thread # L4:共享线程池 │ ├── remi-common-tenant # L4:多租户隔离 │ ├── remi-common-auth # L5:JWT / RBAC / TOTP 2FA │ ├── remi-common-safe # L5:脱敏 / XSS / 限流 / CSRF │ ├── remi-common-feign # L5:OpenFeign + Resilience4j │ ├── remi-common-audit # L5:操作日志 / Disruptor 批写 │ ├── remi-common-file # L5:7 种存储平台 / 分片 / 秒传 │ ├── remi-common-notify # L5:5 种通知渠道抽象 │ ├── remi-common-queue # L5:5 种 MQ 抽象 │ ├── remi-common-docs # L5:8 种文档解析 / OCR │ ├── remi-common-excel # L5:高性能 Excel 读写 │ ├── remi-common-netty # L5:TCP 通信 │ ├── remi-common-socket # L5:WebSocket 集群广播 │ ├── remi-common-search # L5:统一搜索(PG / ES) │ ├── remi-common-event # L5:事务性 Outbox │ ├── remi-common-config # L5:敏感配置加密 │ ├── remi-common-seata # L5:Seata 分布式事务 │ ├── remi-common-sentry # L5:统一监控告警 │ ├── remi-common-base # L6:HTTP 公共基座 │ ├── remi-common-web # L6:PC Web 基座(Spring Security) │ └── remi-common-app # L6:移动端 App 基座(API 签名) │ ├── remi-gateway/ # 🚪 API 网关 :9000(WebFlux 反应式) ├── remi-userinfo/ # 👤 用户信息中心 :9001(登录 / RBAC / 组织架构 / OAuth2) ├── remi-system/ # ⚙️ 系统基础服务 :9002(参数 / 字典 / 多租户) ├── remi-nextwiki/ # 📁 网盘知识库 :9003(文件管理 / Office 预览 / WOPI) ├── remi-message/ # 📨 消息通知引擎 :9004(12 渠道 / DAG 编排 / 灰度) ├── remi-workflow/ # 🔀 工作流引擎 :9005(BPMN 2.0 / DMN 决策表) ├── remi-cronjob/ # ⏰ 分布式调度 :9006(Leader 选举 / 分片广播) ├── remi-literule/ # 📏 规则引擎 :9007(DSL / 热加载 / A/B 测试) └── remi-agent/ # 🤖 AI 智能体 :9008(ReAct / RAG / Tool Calling) ``` ### 各模块能力详述 | 模块 | 核心能力 | |------|----------| | **remi-gateway** | 路由分发 · JWT 鉴权 · CORS · IP 黑白名单 · 灰度路由(加权轮询) · Sentinel 限流熔断 · WebSocket 转发 · W3C 链路追踪 | | **remi-userinfo** | 登录认证(密码 + 验证码 + LDAP/ADFS) · JWT Token · RBAC 6 要素 · 部门树 · OAuth2 授权码 · 登录锁定(5 次/30 min) · 国际化 | | **remi-system** | 系统参数(Redis 缓存 + 穿透防护) · 数据字典(树形 + 版本快照) · OAuth2 应用注册 · 多租户(租户 + 套餐 + 权限) · 全局搜索 | | **remi-nextwiki** | 文件秒传(SHA-256) · 版本控制(20 版本) · 分享 + ACL · 全文搜索 · Office 预览(LibreOffice → PDF) · WOPI(OnlyOffice/Collabora) · ClamAV 病毒扫描 · OCR · AI 摘要 | | **remi-message** | 12 大通知渠道 · 模板(i18n + 版本) · 用户偏好 · 条件路由 + 通道降级链 · DAG 编排 · 灰度 · 敏感词过滤(DFA) · RocketMQ 死信 | | **remi-workflow** | REMI-Flow v2 + BPMN 2.0 · 8 种节点 · 定时器 · SLA · 灰度发布 · bpmn-js 设计器 · DMN 决策表 · 50 步模拟运行 | | **remi-cronjob** | Leader 选举 · 多分区调度 · Cron + 固定频率 + 精准(时间轮) · 分片广播 · 故障转移 · DAG 编排 · 胶水代码编辑 · 自愈系统 | | **remi-literule** | 7 种规则类型 · 自研 LiteExpr 引擎(AST + 沙箱) · Caffeine L1 + Redis L2 缓存 · 热加载 · 版本 Diff + 回滚 · Dry-Run 仿真 · A/B 测试 · 规则市场 | | **remi-agent** | 5 种 Agent 执行器 · LLM Provider 抽象(OpenAI 兼容) · 同步/流式对话(SSE) · RAG · DAG 编排 · Tool Calling · 安全护栏(PII + Prompt 注入检测) | --- ## 对标竞品 为明确 **Remi-Cloud** 在开源快速开发平台生态中的定位与差异化优势,确立以下 5 个主流项目作为长期对标竞品,用于持续跟踪其架构演进、功能特性与社区活跃度: | 竞品 | 一句话定位 | 架构形态 | 核心技术栈 | 开源协议 | 仓库地址 | |------|-----------|----------|------------|----------|----------| | **若依 RuoYi** | 轻量级权限管理系统,易读易懂、界面简洁美观 | 单体 / 前后端分离(另有独立微服务版 RuoYi-Cloud) | Spring Boot + MyBatis + Shiro(无重度依赖) | MIT | https://gitee.com/y_project/RuoYi | | **Pig** | 微服务 RBAC 权限管理(企业级快速开发平台) | 微服务(亦支持 `boot` 单体 profile) | Spring Boot 4.0 + Spring Cloud 2025 & Alibaba + Spring Authorization Server(OAuth2) | Apache 2.0 | https://gitee.com/log4j/pig | | **maku-boot** | 企业级低代码平台,符合信创需求 | 单体(组件化按需引入) | Spring Boot 4.0 + Spring Security 7.0 + MyBatis-Plus + Vue3 + Element-Plus | Apache 2.0 | https://gitee.com/makunet/maku-boot | | **SpringBlade** | 商业级微服务架构,面向 SaaS 多租户 | 微服务 | Spring Boot 4.1 + Spring Cloud 2025 + Java 21 + Nacos + Sentinel(遵循阿里编码规范) | Apache 2.0 | https://gitee.com/smallc/SpringBlade | | **JeecgBoot** | 企业级 AI 低代码平台(低代码 + 零代码 + BPM + AI) | 单体 / 微服务 | Spring Boot 4.1 + MyBatis-Plus + Shiro/JWT + Vue3 + Flowable + AI 应用平台 | Apache 2.0 | https://gitee.com/jeecg/JeecgBoot | **Remi-Cloud 的差异化优势**: - **DDD 五层分层架构**:严格的 `api / domain / infra / server / web` 依赖方向单向收敛,竞品多为传统三层或 MVC 结构。 - **四大自研引擎**:规则引擎(对标 Drools + LiteFlow)、分布式调度(对标 XXL-Job + PowerJob)、BPMN 2.0 工作流、AI Agent 框架,全部自研、开箱即用。 - **前沿技术栈**:Java 21 虚拟线程 + Spring Boot 4 + Spring Cloud 2025.1.2 + Jakarta EE 10。 - **全渠道消息与多租户**:12 种通知渠道 DAG 编排、三种多租户隔离策略(SINGLE / MULTI / ISOLATE_DB)。 > 说明:对标竞品用于产品定位与功能演进参考,不代表技术依赖或代码引用。 --- ## 快速开始 ### 环境要求 | 依赖 | 最低版本 | 说明 | |------|----------|------| | JDK | 21 | 推荐 Eclipse Temurin / Amazon Corretto | | Maven | 3.9+ | 聚合多模块构建 | | PostgreSQL | 15+ | 共享主数据库 | | Redis | 7.x | 缓存 / 分布式锁 / 会话 | | Nacos | 2.4+ | 注册中心 & 配置中心 | | RocketMQ | 5.x | 消息队列(消息模块必选) | | MinIO | — | 对象存储(网盘模块必选) | ### 克隆与构建 ```bash # 克隆仓库 git clone http://192.168.31.88:6080/remiopen/remi-cloud.git cd remi-cloud # 编译全量模块(含单元测试) mvn clean verify # 快速构建(跳过测试,加速开发迭代) mvn clean package -DskipTests ``` ### 数据库初始化 > 项目规范**禁止**使用 Flyway / Liquibase 等 schema-migration 框架。数据库 DDL 统一以 SQL 脚本形式管理,存放于各模块的 `deploy/sql/` 目录下。 ```bash # 1. 创建数据库 psql -U postgres -c "CREATE DATABASE remi_cloud;" # 2. 按模块导入初始化脚本(示例) psql -U postgres -d remi_cloud -f remi-userinfo/remi-userinfo-web/src/main/resources/sql/init.sql psql -U postgres -d remi_cloud -f remi-system/remi-system-web/src/main/resources/sql/init.sql # ...依此类推 ``` ### 本地启动 **启动顺序建议**:Nacos → 中间件 → Gateway → 业务服务(按端口号升序) ```bash # 启动 Gateway(必须先启动) cd remi-gateway mvn spring-boot:run # 启动各业务服务 cd ../remi-userinfo/remi-userinfo-web && mvn spring-boot:run cd ../../remi-system/remi-system-web && mvn spring-boot:run cd ../../remi-nextwiki/remi-nextwiki-web && mvn spring-boot:run cd ../../remi-message/remi-message-web && mvn spring-boot:run cd ../../remi-workflow/remi-workflow-web && mvn spring-boot:run cd ../../remi-cronjob/remi-cronjob-web && mvn spring-boot:run cd ../../remi-literule/remi-literule-web && mvn spring-boot:run cd ../../remi-agent/remi-agent-web && mvn spring-boot:run ``` 启动完成后,访问 API 文档: - **Knife4j 聚合文档**:`http://localhost:9000/doc.html` - **Nacos 控制台**:`http://localhost:8848/nacos`(默认账密 nacos/nacos) --- ## 开发指南 ### 工程结构约定 每个可部署的业务模块遵循标准 DDD 五层结构: ``` remi-{module}/ ├── pom.xml # 父 POM ├── remi-{module}-api/ # API 层:Feign Client + DTO ├── remi-{module}-domain/ # 领域层:Entity + VO + Repository 接口 ├── remi-{module}-infra/ # 基础设施层:Repository 实现 + 外部集成 ├── remi-{module}-server/ # 应用服务层:Service + 事务编排 └── remi-{module}-web/ # Web 层:Controller + 启动类 + 配置 ``` **依赖方向**:`web → server → domain ← infra`,`api` 层独立对外。 ### 代码规范 项目遵循以下编码标准: - **阿里巴巴 Java 开发手册(泰山版)** —— Java 代码规范基线 - **Google Java Style Guide** —— 补充格式化规则 ### 提交规范 提交信息采用 **Conventional Commits** 规范(中文描述): ```bash feat: 新增用户批量导入功能 fix: 修复部门树查询死循环问题 refactor: 重构 RBAC 权限校验逻辑 test: 补充消息模块单元测试 docs: 更新 API 接口文档 ``` ### 分支策略 | 分支 | 用途 | |------|------| | `main` | 生产就绪代码,仅通过 PR 合入 | | `develop` | 开发主线,功能分支的合入目标 | | `feature/*` | 特性开发分支 | | `hotfix/*` | 紧急修复分支 | --- ## 质量与安全 ### 构建与测试 | 项目 | 说明 | |------|------| | **单元测试** | JUnit 5 + Mockito + AssertJ,`mvn verify` 自动执行 | | **集成测试** | Testcontainers 容器化(PG / Redis),继承 `AbstractIntegrationTest` 基类运行 | ### 安全措施 - **认证鉴权**:JWT + RBAC + 数据权限 + TOTP 2FA - **传输安全**:HTTPS + CORS 严格策略 + CSRF Token - **存储安全**:BCrypt 密码哈希 + 敏感配置 AES-256-GCM 加密 - **输入安全**:XSS 过滤 + SQL 注入防护(PreparedStatement) + 参数校验 - **数据安全**:PII 脱敏(手机号/身份证/邮箱) + 行/列级权限 - **运维安全**:IP 白名单/黑名单 + 登录失败锁定 + 验证码 + API 签名验证 - **供应链安全**:依赖版本统一收敛管理(Dependency Management) --- ## 文档 | 文档 | 位置 | 说明 | |------|------|------| | 项目 README | `./README.md` | 本文档 | | MIT 开源协议 | `./LICENSE` | 开源许可协议 | | Effective POM | `./effective-pom.xml` | 解析后的完整 POM | | 模块 README | `remi-*/README.md` | 各模块详细说明文档 | | 编码规范 | *(内部 Wiki)* | 团队开发规范 | | API 文档 | Knife4j 聚合 | 启动后访问 `:9000/doc.html` | --- ## 贡献指南 我们欢迎任何形式的贡献! ### 贡献流程 1. **Fork** 本项目 2. 从 `develop` 分支创建你的特性分支:`git checkout -b feature/amazing-feature` 3. 编写代码,确保通过 `mvn verify` 构建与单元测试 4. 提交变更:`git commit -m 'feat: 新增某某功能'` 5. 推送分支:`git push origin feature/amazing-feature` 6. 提交 **Pull Request** 到 `develop` 分支 ### 贡献要求 - 新增代码需通过单元测试验证 - 核心逻辑需补充单元测试 - 新增模块的 README.md 需同步更新 - 数据库变更需提供 SQL 初始化脚本 - PR 需至少一位 Maintainer 审核通过 --- ## 开源协议 本项目基于 **[MIT License](./LICENSE)** 开源,允许自由使用、修改、分发,但需保留原始版权声明。 --- ## 致谢 本项目在设计与实现过程中,参考并致敬以下优秀开源项目: - [Spring Boot](https://spring.io/projects/spring-boot) & [Spring Cloud](https://spring.io/projects/spring-cloud) —— Java 微服务生态基石 - [Spring Cloud Alibaba](https://github.com/alibaba/spring-cloud-alibaba) —— 微服务一站式解决方案 - [若依(RuoYi-Cloud)](https://gitee.com/y_project/RuoYi-Cloud) —— 优秀的国产微服务快速开发框架 - [Pig](https://gitee.com/log4j/pig) —— 基于 Spring Cloud 的微服务 RBAC 权限管理系统 - [XXL-Job](https://github.com/xuxueli/xxl-job) & [PowerJob](https://github.com/PowerJob/PowerJob) —— 分布式任务调度标杆 - [Drools](https://www.drools.org/) & [LiteFlow](https://liteflow.cc/) —— 规则引擎领域先驱 - [Flowable](https://www.flowable.com/) & [Camunda](https://camunda.com/) —— BPMN 工作流引擎参考 ---

Made with ❤️ by RemiSoft Team