本文以mysql为例
官方文档:
https://plus-doc.dromara.org/#/ruoyi-cloud-plus/home
项目结构图
RuoYi-Cloud-Plus
├─ ruoyi-api // api模块
│ └─ ruoyi-api-bom // api模块依赖管理
│ └─ ruoyi-api-resource // 资源api模块
│ └─ ruoyi-api-system // 系统api模块
├─ ruoyi-auth // 通用模块 [9210]
├─ ruoyi-common // 通用模块
│ └─ ruoyi-common-alibaba-bom // alibaba 依赖管理
│ └─ ruoyi-common-bom // common 依赖管理
│ └─ ruoyi-common-core // 核心功能模块
│ └─ ruoyi-common-dict // 字典集成模块
│ └─ ruoyi-common-doc // 文档集成模块
│ └─ ruoyi-common-dubbo // dubbo集成模块
│ └─ ruoyi-common-elasticsearch // ES集成模块
│ └─ ruoyi-common-encrypt // 数据加解密模块
│ └─ ruoyi-common-excel // excel集成模块
│ └─ ruoyi-common-idempotent // 幂等功能模块
│ └─ ruoyi-common-job // job定时任务集成模块
│ └─ ruoyi-common-json // json集成模块
│ └─ ruoyi-common-loadbalancer // 团队负载均衡集成模块
│ └─ ruoyi-common-log // 日志集成模块
│ └─ ruoyi-common-logstash // elk日志集成模块
│ └─ ruoyi-common-mail // 邮件集成模块
│ └─ ruoyi-common-mybatis // mybatis数据库相关集成模块
│ └─ ruoyi-common-oss // oss相关集成模块
│ └─ ruoyi-common-prometheus // prometheus监控
│ └─ ruoyi-common-redis // redis集成模块
│ └─ ruoyi-common-satoken // satoken集成模块
│ └─ ruoyi-common-seata // seata分布式事务集成模块
│ └─ ruoyi-common-security // 框架权限鉴权集成模块
│ └─ ruoyi-common-sensitive // 脱敏功能模块
│ └─ ruoyi-common-sentinel // sentinel集成模块
│ └─ ruoyi-common-skylog // skywalking日志收集模块
│ └─ ruoyi-common-sms // 短信集成模块
│ └─ ruoyi-common-social // 社交三方功能模块
│ └─ ruoyi-common-tenant // 租户功能模块
│ └─ ruoyi-common-translation // 通用翻译功能
│ └─ ruoyi-common-web // web服务集成模块
│ └─ ruoyi-common-websocket // websocket服务集成模块
├─ ruoyi-example // 例子模块
│ └─ ruoyi-demo // 演示模块 [9401]
│ └─ ruoyi-stream-mq // mq演示模块 [9402]
├─ ruoyi-gateway // 网关模块 [8080]
├─ ruoyi-modules // 功能模块
│ └─ ruoyi-gen // 代码生成模块 [9202]
│ └─ ruoyi-job // 任务调度模块 [9203,9901]
│ └─ ruoyi-resource // 资源模块 [9204]
│ └─ ruoyi-system // 系统模块 [9201]
├─ ruoyi-visual // 可视化模块
│ └─ ruoyi-monitor // 服务监控模块 [9100]
│ └─ ruoyi-nacos // nacos服务模块 [8848,9848,9849]
│ └─ ruoyi-seata-server // seata服务模块 [7091,8091]
│ └─ ruoyi-sentinel-dashboard // sentinel控制台模块 [8718]
│ └─ ruoyi-powerjob-server // 任务调度控制台模块 [7700]
├─ plus-ui // 前端框架 [80]
├─ config/nacos // nacos配置文件(需复制到nacos配置中心使用)
│ └─ sentinel-ruoyi-gateway.json // sentinel对接gateway限流配置文件
│ └─ seata-server.properties // seata服务配置文件
│ └─ application.yml // 所有应用主共享配置文件
│ └─ datasource.yml // 所有应用共享数据源配置文件
│ └─ ruoyi-auth.yml // auth 模块配置文件
│ └─ ruoyi-gateway.yml // gateway 模块配置文件
│ └─ ruoyi-gen.yml // gen 模块配置文件
│ └─ ruoyi-job.yml // job 模块配置文件
│ └─ ruoyi-monitor.yml // monitor 模块配置文件
│ └─ ruoyi-resource.yml // resource 模块配置文件
│ └─ ruoyi-system.yml // systen 模块配置文件
│ └─ ruoyi-sentinel-dashboard.yml // sentinel 控制台 模块配置文件
│ └─ ruoyi-xxl-job-admin.yml // xxljob 控制台 模块配置文件
├─ config/grafana // grafana配置文件(需复制到grafana使用)
│ └─ Nacos.json // Nacos监控页面
│ └─ SLS JVM监控大盘.json // JVM监控页面
│ └─ Spring Boot 2.1 Statistics.json // SpringBoot监控页面
├─ sql // sql脚本
│ └─ ry-cloud.sql // 主sql文件
│ └─ ry-config.sql // 配置中心sql文件
│ └─ ry-job.sql // 任务调度sql文件
│ └─ ry-seata.sql // 分布式事务sql文件
├─ docker // docker 配置脚本
│ └─ nacos // nacos配置文件
│ └─ nginx // nginx配置文件
│ └─ redis // redis配置文件
│ └─ seata // seata配置文件
│ └─ deploy.sh // 运行脚本
│ └─ docker-compose.yml // docker编排文件
├─ .editorconfig // 编辑器编码格式配置
├─ LICENSE // 开源协议
├─ pom.xml // 公共依赖
├─ README.md // 框架说明文件
环境(最起码的配置)
- jdk17
- mysql 5.7
- redis >= 5.X
- maven >= 3.8.X
- nacos >= 2.X
数据库初始化文件位置
如图,只需要将绿框中的导入即可,其中1,2,3,4分别是一个数据库
配置
改掉所有配置文件里的配置项(数据库连接地址,nacos地址,redis地址等配置项)
将对应目录下的配置文件配置到nacos中
服务启动
- 必须启动基础建设: mysql redis nacos
- 可选启动基础建设: minio(影响文件上传) seata(影响分布式事务 默认开启) sentinel(影响熔断限流) monitor(影响监控) easyretry(影响定时任务)
- 必须启动应用服务: gateway auth system
- 可选启动应用服务: resource(影响资源使用 websocket 文件上传 邮件 短信等) gen(代码生成) job(影响定时任务) demo(影响demo使用)
架构图
框架分析:
看了一下整体的框架,是由几个工具集合而来的
- nacos
- gateway
- Loadbalancer
- Dubbo
- Sentinel
- Seata
- Sa-Token、Jwt
- Mybatis-Plus
- Hikari
- 雪花ID
- ElasticSearch、Easy-Es
- EasyExcel