【可选jar包依赖】元界MetaLite后端应用的轻量orm模块,功能、性能、开发体验均强于Mybatis、Mybatis-Plus等传统orm框架。
【强制jar包依赖】元界MetaLite后端应用的技术底座、公共依赖库。
【强制jar包依赖】元界MetaLite后端应用的统一组件及版本的公共bom。
【可选jar包依赖】元界MetaLite后端应用的消息队列依赖库,封装Kafka、RocketMq的消息生产和消费,支持多集群配置,整合最佳实践。
【独立部署应用】元界MetaLite后端应用的业务网关,处于负载均衡组件之后,对外提供所有公网API访问入口。
业务无关 · 开箱即用 · 持续演进
MetaLite(元界) 是一款基于 JDK 21 + Spring Cloud Alibaba 构建的轻量级微服务技术底座。
它不是另一个"内置商品管理、会员中心、营销系统"的业务框架,而是一个完全业务无关的技术底座——无论你做电商、IoT、SaaS、政务、金融,MetaLite 都能作为你的技术基石,快速孵化出符合企业实际需求的业务系统。
💡 核心理念:技术框架比拼的不是内置了多少业务功能,而是开发友好性、技术组件先进性、架构思想先进性、代码结构清晰度。企业业务千差万别,MetaLite 提供的是能快速上手、持续演进的技术基石。
持续演进与二次开发难度对比:
| 维度 | MetaLite | 某 yi / 某道 |
|---|---|---|
| 代码行数 | ~2.5 万行(精简) | 10~15 万行(臃肿) |
| 依赖三方组件 | ~20 个(按需引入) | 50~60 个(全量引入) |
| 持续演进 | ✅ 技术底座持续迭代,不随业务过时而淘汰 | ❌ 内置业务功能很快过时,升级框架成本极高 |
| 二次开发 | ✅ clone 骨架,改包名即可开发,学习成本极低 | ❌ 需深入理解框架内置业务逻辑,学习成本极高 |
| 架构升级 | ✅ 单工程结构,IDE 自动重构,分钟级完成 | ❌ 多模块依赖,跨模块重构牵一发而动全身 |
| 业务适配 | ✅ 不预设业务,完全按企业实际需求定制 | ❌ 内置功能与个性化需求冲突,改造侵入性强 |
| 环境 | 地址 | 说明 |
|---|---|---|
| 🌐 管理后台演示 | 待部署 |
Web 管理后台,含用户、角色、权限、菜单管理 |
| 📖 API 文档 | 待部署 |
SpringDoc OpenAPI 自动生成 |
| 源码仓库 | https://gitee.com/MetaLite | 包含完整源码和文档 |
| 文档 | 说明 |
|---|---|
| 📖 架构思想 | MetaLite 的设计理念、核心原理、架构演进 |
| 🚀 快速开始 | 5 分钟上手,IDEA 中启动你的第一个微服务 |
| 开发指南 | 组件使用详解、代码示例、编码规范 |
| 🏗️ 企业级特性 | 安全、高可用、高性能、易开发 |
| 部署脚本 | Docker / Kubernetes / Bin 脚本模板 |
| 🔧 技术栈 | 完整依赖版本管理 |
| 维度 | MetaLite | 某yi | 某道 |
|---|---|---|---|
| 技术栈 | JDK 21 + Spring Boot 3.2 | JDK 8/11 + Spring Boot 2.x | JDK 8/11 + Spring Boot 2.x |
| 工程结构 | 单 Maven 工程 | 多 Maven 模块(6+) | 多 Maven 模块(10+) |
| 开发友好性 | 统一四层架构、Criteria 查询 | 代码生成器、但代码风格老旧 | 代码生成器、但学习成本高 |
| 架构思想 | 业务无关技术底座、持续演进 | 内置大量业务功能、二次开发侵入性强 | 多租户 + 工作流、但耦合度高 |
| 能力类别 | 具体能力 | MetaLite | 某yi | 某道 |
|---|---|---|---|---|
| 🚀 JDK 21 虚拟线程 | IO 密集型场景性能提升 10 倍 | ✅ | ❌ | |
| 💾 二级缓存分布式同步 |
@CacheEvict 触发后自动通知其他实例清除本地缓存,毫秒级同步 |
✅ | ❌ | ❌ |
| ** 类雪花分布式 ID** | 12 字节结构,每秒 1677 万个唯一 ID,支持字母数字混合/纯数字两种格式 | ✅ | ❌ | ❌ |
| 🔗 全链路 TraceId 自动传播 | 网关→微服务→DAO 全链路自动携带,无需手动传参 | ✅ | ❌ | |
| 🛡️ 切面链兜底异常处理 | 7 种切面类型(API/DAO/Redis/Cache 等),入口层自动生成 TraceId,异常自动转换为 Resp | ✅ | ❌ | ❌ |
| ⚙️ ORM 零 XML 配置 | 自研轻量级 ORM,Criteria 方法引用构建查询,编译期类型安全,彻底告别 MyBatis XML 映射文件 | ✅ | MyBatis XML | ❌ MyBatis XML |
| 🌐 InternalServiceClient RPC | 禁止 Feign,基于 Nacos 服务发现,自动传递上下文(用户 ID/TraceId/Seata XID),超时逐层递减 | ✅ | ❌ | |
| 🚦 三层维度限流 | 节点级(Guava)+ 调用方级(Redis Lua)+ 用户级(Redis Lua),全局限流 + 单接口限流 | ✅ | ❌ | ❌ |
| 🔒 分布式锁自动续期 | 防止业务执行时间超过锁过期,安全释放防止死锁 | ✅ | 部分 | 部分 |
| 📊 分布式事务 Seata 2.1 | AT 模式,跨数据源事务一致性 | ✅ | ✅ | ✅ |
| 🔑 国密算法 SM2/SM3/SM4 | 满足等保合规要求 | ✅ | ❌ | ✅ |
| 🔄 MapStruct 对象转换 | 编译时生成转换代码,无反射开销 | ✅ | 部分 | |
| 🙈 数据脱敏 | 配置驱动,FastJson 序列化时自动处理 | ✅ | ❌ | ✅ |
| ⏰ 定时任务分布式抢占 | Spring @Scheduled 增强,多实例只执行一个,独立线程池 |
✅ | ✅ | ✅ |
MetaLite 采用单 Maven 工程架构,这是与同类框架最大的不同:
| 对比项 | 多 Maven 模块 | 单 Maven 工程 |
|---|---|---|
| 跨模块调用 | 需引依赖,IDE 重构慢 | 包内调用,IDE 飞起 |
| 调试效率 | 跨模块断点跳转复杂 | 单进程断点连续跳转 |
| 打包部署 | 多模块打包,版本易冲突 | 一个 jar 包,依赖清晰 |
| 重构成本 | 跨模块重构需改多个 POM | 包结构调整,IDE 自动重构 |
| CI/CD | 多模块构建,耗时长 | 单工程构建,分钟级完成 |
适用场景:微服务架构下,单个服务只负责一个业务域(5-20 万行代码),单工程足够清晰高效。当业务增长需要拆分时,直接拆分为独立微服务。
某 yi / 某道 = 技术底座 + 商品管理 + 会员中心 + 营销系统 + 工作流 + ...
MetaLite = 纯粹的技术底座(21 项企业级能力) + 快速开发骨架
| 行业 | 适用性 | 说明 |
|---|---|---|
| 电商 | ✅ | 快速构建商品、订单、支付系统 |
| IoT | ✅ | 设备接入、数据采集、监控告警 |
| SaaS | ✅ | 多租户架构、按需订阅 |
| 政务 | ✅ | 等保合规、国密算法支持 |
| 金融 | ✅ | 分布式事务、高可用保障 |
| 教育 | ✅ | 课程管理、学员管理、在线考试 |
| 医疗 | ✅ | 患者管理、处方管理、医疗监管 |
MetaLite 不预设任何业务功能,适配任何行业。
| 场景 | 说明 |
|---|---|
| 🏢 企业数字化转型 | 作为技术底座,快速构建各业务系统 |
| 🚀 初创公司快速上线 | 克隆 demo,改包名,快速开发核心业务 |
| 🔄 老系统微服务改造 | 基于 MetaLite 重构,平滑迁移 |
| 🏭 多行业适配 | 电商、IoT、SaaS、政务、金融,不挑业务形态 |
| 📚 技术团队规范 | 统一开发规范,降低协作成本 |

| 子工程 | 简介 | Gitee 仓库 |
|---|---|---|
| 🔧 backend-bom | 父 POM,统一管理所有依赖版本 | → 仓库 |
| backend-application | 核心框架,21 项企业级能力 | → 仓库 |
| 🚪 backend-gateway | API 网关,统一入口、鉴权、限流 | → 仓库 |
| ️ backend-admin | 管理后台,用户、角色、权限管理 | → 仓库 |
| 🗄️ backend-orm | 轻量级 ORM,Criteria 查询封装 | → 仓库 |
| 📨 backend-mq | 消息队列封装,RocketMQ/Kafka | → 仓库 |
| 🚀 backend-demo | 快速开始骨架,clone 即可开发 | → 仓库 |
| 🎨 web-admin | 前端管理后台(Vue 3 + Vben Admin) | → 仓库 |
💡 提示:实际业务开发只需
git clone backend-demo,修改包名后即可开始开发。
MetaLite 提供 21 项企业级能力,开箱即用:
| 能力 | 说明 | 技术实现 |
|---|---|---|
| 🔐 统一请求响应 | InternalReq/ExternalReq/Resp 统一封装 | backend-application |
| 🆔 分布式 ID | 类雪花算法,每秒 1677 万个唯一 ID | FastUniqueId |
| 💾 二级缓存 | Caffeine 本地缓存 + Redis 分布式缓存 | backend-application/cache |
| 🔒 分布式锁 | Redis 分布式锁,自动续期 | RedisLocker |
| 🔄 对象转换 | Bean/Map 互转,MapStruct 编译时生成 | BeanConverter |
| 📋 JSON 处理 | FastJson 封装,支持脱敏、过滤、JSONPath | FastJson |
| 🌐 HTTP 客户端 | 链式调用、超时控制、重试、降级 | InternalServiceClient |
| ⏰ 定时任务 | 分布式作业抢占执行、独立线程池、任务追踪 | backend-application/job |
| 🔑 加密解密 | AES/RSA/SM2/SM4/SHA256/SM3 | backend-application/security |
| 数据脱敏 | 手机号、身份证、银行卡自动脱敏 | 配置驱动 |
| 线程上下文 | 用户 ID、AppId、TraceId 统一管理 | ThreadContext |
| 🔗 链路追踪 | 自动追踪请求调用路径 | TraceId 传播 |
| 📝 操作日志 | 自动记录用户操作,支持审计 | SysUserOperateLogService |
| ✅ 参数校验 | 断言工具,统一校验参数 | AssertUtil |
| 📅 日期时间 | LocalDateTime 工具,格式化、运算 | DateTimeUtil |
| 🔢 数字处理 | 分转元、高精度计算 | 工具类 |
| 📭 空集合常量 | EMPTY_LIST/EMPTY_MAP 等 | EmptyConstant |
| 🚦 限流控制 | 网关三层维度限流(节点/调用方/用户),Guava RateLimiter + Redis Lua 脚本 | backend-gateway |
| ⚠️ 异常处理 | 统一全局异常、错误码体系,切面自动转换 ServiceException、AssertUtil 断言等 |
ErrorCode、ServiceException |
| 🎯 切面编程 | 日志、脱敏、幂等自动处理 | AOP |
| 📊 分布式事务 | Seata AT 模式,支持跨数据源、跨服务事务 | Seata 2.1.0 |
核心组件详细说明 → backend-bom 仓库
MetaLite 不是玩具框架,而是经过多年实际企业级生产环境打磨迭代的技术底座:
@CacheEvict 触发后自动通知其他实例清除 Caffeine 本地缓存,毫秒级同步缓存同步机制:@CacheEvict 触发 → 本机清除 → CompletableFuture.runAsync 异步通知 → InternalServiceClient.callAllInstance 广播 → 其他实例 getNativeCache().invalidate() 直接清除(不二次广播)
@Dao(dataSourceGroup = "db_xxx") 灵活路由,读写分离开箱即用DesensitizeRule 配置字段名和脱敏类型,FastJson 序列化时自动处理📎 企业级特性详细解析 → architecture.md