java源码

关注公众号 jb51net

关闭
MateCloud微服务架构 v4.6.8

MateCloud微服务架构 v4.6.8

热门排行

简介

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

大家还下载了