Awesome Open Source
Awesome Open Source

License Stars SpringBoot SpringCloud Spring Cloud Alibaba

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

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

🎨 系统演示

👉 演示地址:https://cloud.mate.vip

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

如果需要验证手机号码登录,手机号码采用页面默认号码,点击获取验证码,输入1188,即可登录。

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

账号 密码 操作权限
admin matecloud123 不能执行增删改请求,如需全部权限加微信 matecloud 联系

🍯 商业版Vue3的快照版:https://v3.mate.vip

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

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

商业版与开源版对比

📌 版本演进

核心中间件 2.5.8及以下 3.0.8+
Spring Boot 2.3.*.RELEASE SpringBoot
Spring Cloud Hoxton SR* SpringCloud
Spring Cloud Alibaba 2.2.*.RELEASE SpringCloudAlibaba
Nacos 1.4.*及以下 nacos
Sentinel 1.8.1 sentinel

📖 官方文档

👉 文档地址:http://www.mate.vip/docs

👉 商业版文档:http://doc.mate.vip

👉 快速安装:http://www.mate.vip/archives/107

👷 技术交流

👉 QQ群:2003638

🍪 技术架构

❓ 部分截图

🔧 功能特点

  • 主体框架:采用最新的Spring Cloud 2021.0.2, Spring Boot 2.6.7, Spring Cloud Alibaba 2021.0.1.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.3.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.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

👉 版本发布

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

🌭 项目源码

项目 GITHUB 码云
MateCloud后端源码 https://awesomeopensource.com/project/matevip/matecloud https://gitee.com/matevip/matecloud
Artemis前端源码 https://awesomeopensource.com/project/matevip/artemis https://gitee.com/matevip/artemis
MateBoot后端源码 https://awesomeopensource.com/project/matevip/mateboot https://gitee.com/matevip/mateboot

🥥 微服务项目示例

🍻 贡献者名单

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

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

✨ 特别鸣谢

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

📚 开源项目推荐

Alternatives To Matecloud
Select To Compare


Alternative Project Comparisons
Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Java (391,806
Vue (67,027
Cloud Computing (29,140
Spring (28,664
Admin (21,899
Spring Boot (15,782
Microservices (12,068
Mybatis (4,289
Spring Cloud (2,378
Vue3 (1,743
Saas (1,485
Rbac (1,371
Alibaba (956
Rocketmq (519
Nacos (168
Spring Security Oauth2 (103
Spring Boot Admin (101
Spring Cloud Alibaba (93
Alibabacloud (66
Tenant (63
Nacos Spring Cloud (12
Jetcache (9