Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

🔥MateCloud是一款基于Spring Cloud Alibaba的微服务架构。目前已经整合Spring Boot 2.7.0、 Spring Cloud 2021、Spring Cloud Alibaba 2021、Spring Security Oauth2、Feign、Dubbo、JetCache、RocketMQ等,支持多租户的低代码平台,Saas平台开发套件

License

NotificationsYou must be signed in to change notification settings

matevip/matecloud

Repository files navigation

LicenseStarsSpringBootSpringCloudSpring Cloud Alibaba

🍟 如果您觉得有帮助,请点右上角 "Star" 支持一下谢谢

MateCloud是一款基于Spring Cloud Alibaba的微服务架构。旨在为大家提供技术框架的基础能力的封装,减少开发工作,让您只关注业务。

🎨 系统演示

👉 单体版演示地址:https://demo.mate.vip/boot

账号密码项目地址
adminmatecloudhttps://gitee.com/matevip/mateboot

👉 微服务版演示地址:https://demo.mate.vip/cloud

账号密码操作权限
adminmatecloudmate-system模块不能执行增删改请求

🍯 商业版:https://plus.mate.vip

管理员类型账号密码用途
超级管理员adminmatecloud123超级用户
租户管理员tenantmatecloud123此处模拟商城系统

注意:租户管理员的菜单完全自定义,可用于扩展开发商城系统、CRM系统、OA系统等任意系统需求。

商业版与开源版对比

📌 版本演进

核心中间件2.5.8及以下当前:4.4.9+
Spring Boot2.3.*.RELEASESpringBoot
Spring CloudHoxton SR*SpringCloud
Spring Cloud Alibaba2.2.*.RELEASESpringCloudAlibaba
Nacos1.4.*及以下nacos
Sentinel1.8.1sentinel

📖 官方文档

👉 文档:http://doc.dabu.vip

👷 技术交流

👉 QQ群:2003638

🍪 技术架构

❓ 部分截图

🔧 功能特点

  • 主体框架:采用最新的Spring Cloud 2021.0.8,Spring Boot 2.7.14,Spring Cloud Alibaba 2021.0.8.0版本进行系统设计;

  • 统一注册:支持Nacos作为注册中心,实现多配置、分群组、分命名空间、多业务模块的注册和发现功能;

  • 统一认证:统一Oauth2认证协议,采用jwt的方式,实现统一认证,并支持自定义grant_type实现手机号码登录,第三方登录集成JustAuth实现微信、支付宝等多种登录模式;

  • 业务监控:利用Spring Boot Admin来监控各个独立Service的运行状态。

  • 内部调用:集成了FeignDubbo两种模式支持内部调用,并且可以实现无缝切换,适合新老程序员,快速熟悉项目;

  • 业务熔断:采用Sentinel实现业务熔断处理,避免服务之间出现雪崩;

  • 身份注入:通过注解的方式,实现用户登录信息的快速注入;

  • 在线文档:通过接入Knife4j,实现在线API文档的查看与调试;

  • 代码生成:基于Mybatis-plus-generator自动生成代码,提升开发效率,生成模式不断优化中,暂不支持前端代码生成;

  • 消息中心:集成消息中间件RocketMQKafka,对业务进行异步处理;

  • 业务分离:采用前后端分离的框架设计,前端采用vue-element-admin,商业版采用antd-pro-vue

  • 链路追踪:自定义traceId的方式,实现简单的链路追踪功能

  • 多租户功能:集成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.6.8</version>            <type>pom</type>            <scope>import</scope>        </dependency>    </dependencies></dependencyManagement>

然后在 dependencies 中添加自己所需使用的依赖即可使用。

🔥 前端重大更新

前端采用Vue 3.2.12Vite 2.5.8Ant-Design-Vue 2.2.8TypeScript 的大型中后台解决方案。

👉 技术栈

  • Vue 3.2.45
  • Pinia 2.0.28
  • Vue-i18n 9.1.8
  • Ant-design-vue 2.2.6
  • Axios 1.2.1
  • Vue-router 4.3.8
  • Vite 3.2.5

👉 版本发布

4.6.8版本已经发布,完善了系统管理的基础功能,主要包括菜单管理、用户管理、角色管理、部门管理、日志管理、客户端管理等功能。后续功能正在加紧开发中,欢迎体验。

🌭 项目源码

项目GITHUB码云
MateCloud后端源码https://github.com/matevip/matecloudhttps://gitee.com/matevip/matecloud
Artemis前端源码https://github.com/matevip/artemishttps://gitee.com/matevip/artemis
MateBoot后端源码https://github.com/matevip/mateboothttps://gitee.com/matevip/mateboot

🥥 微服务项目示例

🌭 Swagger2 - OpenAPI3

Swagger2OpenAPI3注解位置
@Api@Tag(name = "接口类描述")Controller 类上
@ApiOperation@Operation(summary ="接口方法描述")Controller 方法上
@ApiImplicitParam@Parameter(description="参数描述")Controller 方法上 @Parameters 里
@ApiImplicitParams@ParametersController 方法上
@ApiParam@Parameter(description="参数描述")Controller 方法的参数上
@ApiIgnore@Parameter(hidden = true) 或 @Operation(hidden = true) 或 @Hidden----
@ApiModel@SchemaEntity类上
@ApiModelProperty@SchemaEntity属性上

🍻 贡献者名单

欢迎提交PR一起完善项目,以下为开源项目贡献的战友(排名不分先后):

@L.cm、@Z先生、@苏慕彦、@简、@madi、@yunfei08、@hackerdom

✨ 特别鸣谢

特别感谢卢神对MateCloud项目提供的技术支持!

📚 开源项目推荐

About

🔥MateCloud是一款基于Spring Cloud Alibaba的微服务架构。目前已经整合Spring Boot 2.7.0、 Spring Cloud 2021、Spring Cloud Alibaba 2021、Spring Security Oauth2、Feign、Dubbo、JetCache、RocketMQ等,支持多租户的低代码平台,Saas平台开发套件

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp