基于Spring体系的15年企业级应用开发经验,立志做中国最懂JAVA程序员的,最优秀的开源微服务框架(元界MetaLite)
组织介绍

MetaLite 元界 — 下一代 Java 微服务技术底座

MetaLite Logo

业务无关 · 开箱即用 · 持续演进

JDK 21 Spring Boot 3.2.9 Spring Cloud Spring Cloud Alibaba License


一、简介

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?

4.1 与国内顶级框架对比

维度 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 查询 代码生成器、但代码风格老旧 代码生成器、但学习成本高
架构思想 业务无关技术底座、持续演进 内置大量业务功能、二次开发侵入性强 多租户 + 工作流、但耦合度高

4.2 MetaLite 独有 vs 其他框架没有的能力

能力类别 具体能力 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 增强,多实例只执行一个,独立线程池

4.3 核心差异:单 Maven 工程 vs 多 Maven 模块

MetaLite 采用单 Maven 工程架构,这是与同类框架最大的不同:

对比项 多 Maven 模块 单 Maven 工程
跨模块调用 需引依赖,IDE 重构慢 包内调用,IDE 飞起
调试效率 跨模块断点跳转复杂 单进程断点连续跳转
打包部署 多模块打包,版本易冲突 一个 jar 包,依赖清晰
重构成本 跨模块重构需改多个 POM 包结构调整,IDE 自动重构
CI/CD 多模块构建,耗时长 单工程构建,分钟级完成

适用场景:微服务架构下,单个服务只负责一个业务域(5-20 万行代码),单工程足够清晰高效。当业务增长需要拆分时,直接拆分为独立微服务。

4.4 核心理念差异

传统框架的做法

某 yi / 某道 = 技术底座 + 商品管理 + 会员中心 + 营销系统 + 工作流 + ...
  • ❌ 内置业务功能看似丰富,但无法满足任何一家企业的个性化需求
  • ❌ 二次开发需要深入理解框架内置的业务逻辑,学习成本极高
  • ❌ 企业业务变化快、形态各异,内置功能很快过时
  • ❌ 代码量大、依赖复杂,精简困难

MetaLite 的做法

MetaLite = 纯粹的技术底座(21 项企业级能力) + 快速开发骨架
  • 完全业务无关:不预设任何业务功能,适配任何行业
  • 快速上手:clone backend-demo,改包名,按照示例模块开发即可
  • 持续演进:技术组件和架构思想持续迭代,不随业务过时而淘汰
  • 轻量简洁:子工程精简,代码量只有传统框架的 1/3

4.5 不挑业务形态

行业 适用性 说明
电商 快速构建商品、订单、支付系统
IoT 设备接入、数据采集、监控告警
SaaS 多租户架构、按需订阅
政务 等保合规、国密算法支持
金融 分布式事务、高可用保障
教育 课程管理、学员管理、在线考试
医疗 患者管理、处方管理、医疗监管

MetaLite 不预设任何业务功能,适配任何行业。

4.6 适用场景

场景 说明
🏢 企业数字化转型 作为技术底座,快速构建各业务系统
🚀 初创公司快速上线 克隆 demo,改包名,快速开发核心业务
🔄 老系统微服务改造 基于 MetaLite 重构,平滑迁移
🏭 多行业适配 电商、IoT、SaaS、政务、金融,不挑业务形态
📚 技术团队规范 统一开发规范,降低协作成本

五、工程结构

MetaLite 工程结构

子工程 简介 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
⚠️ 异常处理 统一全局异常、错误码体系,切面自动转换 ServiceExceptionAssertUtil 断言等 ErrorCode、ServiceException
🎯 切面编程 日志、脱敏、幂等自动处理 AOP
📊 分布式事务 Seata AT 模式,支持跨数据源、跨服务事务 Seata 2.1.0

核心组件详细说明 → backend-bom 仓库


七、企业级特性

MetaLite 不是玩具框架,而是经过多年实际企业级生产环境打磨迭代的技术底座:

7.1 安全合规

  • 国密算法支持:SM2/SM3/SM4,满足等保合规要求
  • 统一认证鉴权:网关层 Token 管理,后端服务无感知
  • 数据脱敏:手机号、身份证、银行卡自动脱敏
  • 操作审计:自动记录操作日志,支持变更追溯

7.2 高可用

  • 三层维度限流:节点级(Guava RateLimiter)、调用方级(Redis)、用户级(Redis),全局限流+单接口限流
  • 分布式锁:Redis 分布式锁,自动续期,防止超卖
  • 分布式事务:Seata AT 模式,跨数据源、跨服务事务一致性,零配置启动
  • 重试降级:RPC 调用自动重试和降级
  • 分布式缓存同步@CacheEvict 触发后自动通知其他实例清除 Caffeine 本地缓存,毫秒级同步

缓存同步机制@CacheEvict 触发 → 本机清除 → CompletableFuture.runAsync 异步通知 → InternalServiceClient.callAllInstance 广播 → 其他实例 getNativeCache().invalidate() 直接清除(不二次广播)

7.3 高性能

  • JDK 21 虚拟线程:IO 密集型场景性能提升 10 倍
  • 二级缓存:Caffeine + Redis 双层缓存,热点数据毫秒级响应
  • 连接池优化:Druid 连接池,高效数据库连接管理
  • 无反射开销:MapStruct 编译时生成转换代码,极致性能

7.4 易开发

  • 统一开发规范:API → Service → DAO → Domain 四层架构
  • 代码生成骨架:clone backend-demo,改包名即可开始开发
  • ORM 零 XML 配置:自研轻量级 ORM,Criteria 方法引用构建查询,编译期类型安全,彻底告别 MyBatis XML 映射文件
  • 灵活分库分表:支持按业务维度配置多数据源,@Dao(dataSourceGroup = "db_xxx") 灵活路由,读写分离开箱即用
  • 配置驱动脱敏:通过 DesensitizeRule 配置字段名和脱敏类型,FastJson 序列化时自动处理

📎 企业级特性详细解析 → architecture.md


八、社区与贡献

  • 📮 问题反馈:提交 Issue
  • 💡 功能建议:提交 Feature Request
  • 🔧 代码贡献:Fork 仓库 → 提交 PR
  • 💬 联系方式:qq 101109677 qq交流群 822374603

九、许可证

MIT License


成就
6
Star
0
Fork
成员(2)
8936983 liu yibing 1767930680
gogo
15943196 metalite founder 1752228291
元界MetaLite

搜索帮助