| 
							 MateCloud是一款基于Spring Cloud Alibaba的微服务架构。旨在为大家提供技术框架的基础能力的封装,减少开发工作,让您只关注业务。 
功能特点
1、主体框架:采用最新的Spring Cloud 2021.0.4, Spring Boot 2.7.3, Spring Cloud Alibaba 2021.0.4.0版本进行系统设计; 
2、统一注册:支持Nacos作为注册中心,实现多配置、分群组、分命名空间、多业务模块的注册和发现功能; 
3、统一认证:统一Oauth2认证协议,采用jwt的方式,实现统一认证,并支持自定义grant_type实现手机号码登录,第三方登录集成JustAuth实现微信、支付宝等多种登录模式; 
4、业务监控:利用Spring Boot Admin来监控各个独立Service的运行状态。 
5、内部调用:集成了Feign和Dubbo两种模式支持内部调用,并且可以实现无缝切换,适合新老程序员,快速熟悉项目; 
6、业务熔断:采用Sentinel实现业务熔断处理,避免服务之间出现雪崩; 
7、身份注入:通过注解的方式,实现用户登录信息的快速注入; 
8、在线文档:通过接入Knife4j,实现在线API文档的查看与调试; 
9、代码生成:基于Mybatis-plus-generator自动生成代码,提升开发效率,生成模式不断优化中,暂不支持前端代码生成; 
10、消息中心:集成消息中间件RocketMQ和Kafka,对业务进行异步处理; 
11、业务分离:采用前后端分离的框架设计,前端采用vue-element-admin,商业版采用antd-pro-vue 
12、链路追踪:自定义traceId的方式,实现简单的链路追踪功能 
13、多租户功能:集成Mybatis Plus,实现SAAS多租户功能 
 文件结构 
matecloud -- 父项目,各模块分离,方便集成和微服务 
│  ├─mate-core -- 核心通用模块,主模块 
│  │  ├─mate-starter-common -- 封装通用模块 
│  │  ├─mate-starter-cloud -- 封装微服务模块 
│  │  ├─mate-starter-auth -- 封装token验证模块 
│  │  ├─mate-starter-security -- 封装OAuth2基础模块 
│  │  ├─mate-starter-web -- 封装WEB服务基础模块 
│  │  ├─mate-starter-database -- 封装Mybatis及数据库基础模块 
│  │  ├─mate-starter-dependencies -- 封装所有依赖模块,可作为父项目独立引用 
│  │  ├─mate-starter-dubbo -- 封装dubbo基础模块 
│  │  ├─mate-starter-feign -- 封装feign基础模块 
│  │  ├─mate-starter-jetcache -- 封装JetCache阿里缓存基础模块 
│  │  ├─mate-starter-rocketmq -- 封装RocketMQ基础模块 
│  │  ├─mate-starter-gray -- 封装灰度发布基础模块 
│  │  ├─mate-starter-elasticsearch -- 封装ElasticSearch模块 
│  │  ├─mate-starter-oss -- 封装oss存储基础模块,支持阿里云、七牛云、minio等 
│  │  ├─mate-starter-log -- 封装日志基础模块 
│  │  ├─mate-starter-sharding -- 封装多数据库基础模块 
│  │  ├─mate-starter-sms -- 封装短信基础模块 
│  │  ├─mate-starter-mail -- 封装邮件模块 
│  │  ├─mate-starter-kafka -- 封装kafka基础模块 
│  │  ├─mate-starter-rule -- 封装黑名单基础模块 
│  │  ├─mate-starter-idempotent -- 封装幂等基础模块 
│  │  ├─mate-starter-lock -- 封装分布式锁基础模块 
│  │  ├─mate-starter-encrypt -- 封装报文加密模块,支持AES和RSA 
│  │  ├─mate-starter-mongodb -- 封装mongodb数据库模块 
│  │  ├─mate-starter-strategy -- 封装策略模块 
│  │  ├─mate-starter-job -- 封装定时任务基础模块 
│  │  ├─mate-starter-validator -- 封装统一检验基础模块 
│  │─mate-gateway -- 统一网关模块 [10001] 
│  │─mate-uaa -- 统一认证中心模块 [20001] 
│  │─mate-platform -- 平台模块项目,目前包含系统子模块 
│  │  ├─mate-system-api -- 系统模块的通用模块,供其他模块引用 
│  │  ├─mate-system -- 系统模块核心功能 [20002] 
│  │  ├─mate-component-api -- 组件模块核心功能,供其他模块引用 
│  │  ├─mate-component -- 组件模块核心功能 [20003] 
│  │─mate-support -- 支持中心项目,目前包括代码生成、admin模块 
│  │  ├─mate-code -- 封装代码生成逻辑 [30002] 
│  │  ├─mate-admin -- 封装spring-boot-admin逻辑 [30001] 
│  │  ├─mate-job -- xxl-jog定时任务模块 
│  │  ├─mate-job-admin -- 定时任务管理平台模块 
│  │─mate-mq -- 消息中心项目,支持kafka、RocketMQ等多种消息中间件 
│  │  ├─mate-log-producer -- 日志消息生产者,集成kafka [40001] 
│  │  ├─mate-message-consumer -- 消息服务消费者 [40002] 
│  │  ├─mate-message-producer -- 消息服务生产者 [40003] 
 
核心模块提交至中央仓库 
如何引入依赖 
<dependencyManagement> 
<dependencies> 
<dependency> 
<groupId>vip.mate</groupId> 
<artifactId>mate-starter-dependencies</artifactId> 
<version>4.4.8</version> 
<type>pom</type> 
<scope>import</scope> 
</dependency> 
</dependencies> 
</dependencyManagement> 
 
然后在 dependencies 中添加自己所需使用的依赖即可使用。 
技术栈 
Vue 3.2.12 
Pinia 2.0.0-rc.8 
vue-i18n 9.1.7 
typescript 4.4.2 
ant-design-vue 2.2.6 
axios 0.21.3 
vue-router 4.3.8 
vite 2.5.8 
v4.6.8 
更新内容 
功能升级 
新增mate-starter-swagger包,对springdoc管理 
项目中Swagger2注解换成OpenAPI3 
SQL 注入拦截过滤器 
文档更新 
修改README中的Swagger2注解换成OpenAPI3对照文档 
依赖升级 
升级至 SpringBoot 2.7.6 
升级至 Spring Cloud 2021.0.5 
升级至 Druid 1.2.15 
升级至 Jetcache 2.6.7 
升级至 Spring Boot Admin 2.7.7 
升级至 dynamic-datasource 3.5.2 
升级至 mysql.connector 8.0.31 
升级至 sentinel 1.8.6 
升级至 nacos-client 2.1.2 
升级至 springdoc-openapi 1.6.13 
升级至 dubbo 3.0.12 
升级至 postgresql 42.4.3 
							 |