Releases: mateaix/matecloud
MateCloud 5.0.8 — 一套代码,自由生长
MateCloud 5.0.8 — 一套代码,自由生长
你不该为「单体,还是微服务」而纠结。
你只需要决定——什么时候,用哪一种。
🚀 这一次,部署不再是枷锁
过去,单体与微服务是两条岔路:选错了,就得推倒重来。
今天,它们成了同一套代码的两种姿态。
一个开关 mate.rpc.mode,决定一切:
local 单体 |
dubbo 微服务 |
|
|---|---|---|
| 启动 | 一个 JAR、一条命令、8 秒 | 多进程集群 |
| 依赖 | 不需要 Nacos / Dubbo / RabbitMQ | 注册中心 + RPC + 网关 + MQ |
| 端口 | 9010(与网关一致,前端零改动) | 网关 9010 + 各服务 |
| 适合 | 个人项目、开发联调、中小团队 | 高并发、分布式、多团队 |
前端零改动。数据库无需迁移。
单体与微服务甚至能共用同一个库——Flyway 会自动「认领」已存在的表结构,而不是莽撞地重建。
从一个人的 Demo,到一个团队的中台,再到千万级的分布式系统——
你不必更换框架,你只是……长大了。
🧬 这套双模,是怎么炼成的
不是简单地「关掉 Dubbo」。我们把每一处会随部署形态变化的细节,都打磨成了可插拔的优雅设计:
- 模块库化打包 —— 业务模块同时产出「瘦库」(被单体依赖) 与「可运行胖包」(微服务部署),鱼与熊掌兼得;
- DDD 端口/适配器 —— 抽出
RolePermissionResolverPort,SaTokenIssuer两种模式共用同一份代码,零重复; - 域事件进程内分发 —— 单体下无需消息中间件,Spring 事件即可;切到微服务,自动切换为 Dubbo 广播;
- Flyway 自动领养 —— 单体首启自动继承微服务已迁移的 schema,
No migration necessary; - 配置收口 —— 一个
mate-infra-local.yml收纳全部单体差异,主配置干净如初。
完整设计:
docs/rfcs/045-monolith-microservice-dual-mode.md
🏛 站在巨人的肩上
- Java 21 · Spring Boot 4.0.7 · Spring Cloud 2025.1.2 · Spring Cloud Alibaba · Dubbo 3.3.6 —— 全部用上最新、最快的。
- DDD 四层架构 —— 领域层零框架污染,业务逻辑纯粹得能直接朗读。
- 20+ 即插即用 Starter —— 缓存(Caffeine+Redis 两级)、分布式锁、限流、幂等、审计、数据权限、多租户、文件(MinIO)、Excel、网关治理……需要什么,加一行依赖。
- 开箱即用 —— Sa-Token 认证、MyBatis-Plus、Redisson、MapStruct、Smart-Doc、Flyway 迁移,一应俱全。
✨ 还有一件事
MateCloud 原生会「思考」。
给任意一个方法标上 @Tool,它就成了 AI 可以调用的能力。
REST、流式对话、命令行、甚至 MCP 协议——
你的业务,从第一天起,就为 AI 时代准备好了。
MateCloud 5.0.8 · 让架构追随业务,而不是业务迁就架构。
v4.4.8
功能升级
- 统一web常量WebConstant
- 修复字段重复引入的问题
- 手动生成代码生成的相关功能文件
- 网关异常类的重写
- 代码生成添加动态数据源
- 根据dsName从数据库里查询表字段
- 避免版本冲突,redis的database修改为2
- 解决多数据源切换情况下导致找不到table和column表的bug
- 代码生成模板
- Velocity模板数据准备
- 优化菜单管理针对vben适配,支持菜单隐藏功能
- 代码预览功能开发
文档更新
- 修改README中的nacos和sentinel的版本号
- 增加vue3的快照版演示
依赖升级
- 升级至 SpringBoot 2.6.7
- 升级至 Spring Cloud 2021.0.2
- 升级至 Druid 1.2.9
- 升级至 Jetcache 2.6.4
- 升级至 Spring Boot Admin 2.6.6
- 升级至 Justauth 1.16.5
- 升级至 Rocketmq 4.9.3
- 升级至 Prometheus 1.8.5
- 升级至 Gson 2.8.9
- 升级至 Guava 31.1-jre
- 升级至 aws-java-sdk-s3 1.12.205
- 升级至 Lombok 1.18.24
- 升级至 Spring-Security 2.6.6
- 升级至 Caffeine 3.0.6
- 升级至 springdoc-openapi 1.6.8
- 升级至 dubbo 3.0.7
v4.3.8
MateCloud 4.3.8对Spring Boot和Spring Cloud进行一次大版本升级,基于Spring Cloud Alibaba推出的微服务快速开发平台,集成Spring Boot 2.6.4, Spring Cloud 2021.0.1、Nacos 2.0.4、Sentinel 1.8.3、Jetcache等诸多中间件,前端升级至Vue 3.2.12。
功能升级
- 拆分用户按钮权限接口
- spring cloud loadbalancer集成caffenine, 增加本地环境变量的配置,支持同机多环境的开发
- 删除掉暂时不用的加密模块
- 移除Velocity模板依赖
- 修复操作日志消费两次的bug
文档更新
- 去掉投票地址
依赖升级
- 升级至 Spring Boot 2.6.4
- 升级至 Spring Cloud 2021.0.1
- 升级至 Mybatis Plus 3.5.1
- 升级至 Spring Boot Admin 2.6.2
- 升级至 XXL-JOB 2.3.0
- 升级至 Postgresql 42.3.3
- 升级至 Nacos 2.0.4
- 升级至 Hutool 5.7.19
v4.2.8
MateCloud 4.2.8主要为修复log4j2的漏洞而发行的版本。
升级log4j2思路
打开mate-core/mate-starter-dependencies/pom.xml,指定依赖版本
之间增加:
<log4j2.version>2.16.0</log4j2.version>之间增加
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>${log4j2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-to-slf4j</artifactId>
<version>${log4j2.version}</version>
</dependency>排除Log4j2的思路
这个思路主要是针对spring-boot-starter-logging这个工具类里排除掉log4j2
之间增加
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
<version>${spring.boot.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-to-slf4j</artifactId>
</exclusion>
</exclusions>
</dependency>v4.1.8
MateCloud 4.1.8对Spring Boot和Spring Cloud进行一次大版本升级,基于Spring Cloud Alibaba推出的微服务快速开发平台,集成Spring Boot 2.6.1, Spring Cloud 2021.0.0、Nacos 2.0.3、Sentinel 1.8.2、Jetcache等诸多中间件,前端升级至Vue 3.2.12。
功能升级
- 修改提交dist目录,解决xxl-job部分css未成功提交
- 删除jecache依赖包
- 删除mate-uaa中暂时不用的依赖mate-starter-auth
- 修改security版本与spring boot版本一致
文档更新
- 更新中央仓库最新版本
- 修改文档里spring cloud的版本号
依赖升级
- 升级至 Spring Boot 2.6.1
- 升级至 Spring Cloud 2021.0.0
- 升级至 Druid 1.2.8
- 升级至 transmittable-thread-local 2.12.2
- 升级至 okhttp 4.9.2
- 升级至 hutool 5.7.14
- 升级至 AWS Java SDK For Amazon S3 1.12.86
- 升级至 spring-security-oauth2-autoconfigure 2.5.5
- 升级至 Spring Boot Admin 2.5.4
v4.0.11
MateCloud 4.0.11在4.0版本上进行小版本升级,基于Spring Cloud Alibaba推出的微服务快速开发平台,集成Spring Boot 2.5.5, Spring Cloud 2020.0.4、Nacos 2.0.3、Sentinel 1.8.2、Jetcache等诸多中间件,前端升级至Vue 3.2.12。
功能升级
- 优先处理503异常,并打印详细日志
- 优化异常描述,减少魔法值
- 修改api和route表的状态,0为启用 1为禁用
- 删除过期和无用的代码
- 简化组件管理功能的api和log内容
文档更新
- 更新中央仓库的版本和前端的版本号
- 更新sql,解决导入报错问题,增加关于菜单
- 修改readme,增加商业版与开源版本对比
- 修改角色表的数据,默认状态为启用
- 更新readme前端的版本号和一些url地址
依赖升级
- 升级至 Spring Boot 2.5.5
- 升级至 Spring Cloud 2020.0.4
- 升级至 Spring Boot Admin 2.5.1
- 升级至elasticsearch 7.14.0+
- 升级至prometheus 1.7.4
v4.0.10
MateCloud 4.0.10在4.0版本上进行小版本升级,基于Spring Cloud Alibaba推出的微服务快速开发平台,集成Nacos 2.0.3、Sentinel 1.8.2、Jetcache等诸多中间件,前端升级至Vue 3.2.4。
功能升级
- 解决mate-system报循环引用错误
- 解决Mybatis-Plus升级后的报错
- 修复顶级菜单上配置菜单应用报错的bug
- 完善README的中央仓库版本和前端的一些版本描述
- 修改 redission 构造时的配置
- API管理功能允许serviceId为空,为空则查询所有列表
- 简化swagger信息,统一风格
- 增加业务单元测试示例
- 调整前端更新的位置和部署组件的版本号
- 修改数据源对象的status字段为String类型
- 升级Dubbo至[2.7.13,),解决CVE-2021-36162安全漏洞
依赖升级
- 升级至FastJson 1.2.78
- 升级至Mybatis Plus 3.4.3.3
- 升级至EasyPoi 4.4.0
- 升级至Jasypt-spring-boot-starter 3.0.4
- 升级至gson 2.8.8
- 升级至aws-java-sdk-s3 1.12.63
- 升级至hutool 5.7.11
- 升级至dubbo 2.7.13+
v4.0.9
MateCloud 4.0.9在4.0版本上进行小版本升级,基于Spring Cloud Alibaba推出的微服务快速开发平台,集成Nacos 2.0.3、Sentinel 1.8.2、Jetcache等诸多中间件,前端升级至Vue 3.2.4。
功能升级
- swagger更新首页和去掉密码验证登录
- 修改密码功能改为改为json方式提交
- 角色删除时同时删除掉角色权限表和更新用户表的信息
- 更新用户表新增的remark字段的sql
- 用户管理扩展备注字段
- 用户管理下修改roleId为String类型,解决前端适配问题
- 菜单管理增加检查id下是否包含子菜单
- 用户分页查询增加departId
- 数据库脚本关于菜单和角色权限的数据更新
- 返回的用户信息增加姓名和昵称
- 修改角色时同时设置角色菜单和新增角色状态变更功能
依赖升级
- 升级至Spring Boot 2.5.4
- 升级至lettuce 5.3.7.RELEASE
v4.0.8
MateCloud 4.0.8基于Spring Cloud Alibaba推出的微服务快速开发平台,集成Nacos 2.0.3、Sentinel 1.8.2、Jetcache等诸多中间件。前端采用Vue3.2、Vite 2.5.*、 Ant-Design-Vue 2.*、TypeScript 的大型中后台解决方案。
其中前端4.0.8-M1版本已经发布,实现了系统管理的基础功能,主要包括菜单管理、用户管理、角色管理、部门管理、日志管理、客户端管理等功能。欢迎体验。
功能升级
- 修改角色时同时设置角色菜单和新增角色状态变更功能
- 返回的用户信息增加姓名和昵称
- 暂时屏蔽多租户过滤器
- 关闭防全表删除插件,增加清空日志功能
- 修改authorities为roleId优化token串的长度
- 角色功能扩展,增加分页功能、排序和状态字段
- 菜单管理增加组件功能,POST登录支持json报文
- 解决查询分页查询为空的bug
- 对同一个关键词多字段查询尝试新的写法,使其可读性更强
- 优化掉StringUtil采用Hutool工具类替换
- 优化掉一批使用低频的模块,4.0.8版本更加专注于业务功能
- 优化swagger配置类,简化代码
- knife4j增加自定义主页内容和页脚
- 新增seata starter模块代码
- 去掉已经优化的基础模块依赖dozer
依赖升级
- 升级至Spring Boot 2.5.3
- 升级至Knife4j 2.0.9
- 升级至Sentinel 1.82
- 升级至Elasticsearch 7.13.3
- 升级至Nacos 2.0.3
- 升级至Spring Boot Admin 2.5.0