Unfiy是一个一个专注于统一接口和数据标准的开源项目,旨在简化开发流程,提升多系统间的数据交互效率与兼容性。 Unify框架核心价值为‘整合异构能力、统一 API 入口、全链路安全可控、可视化运维治理’,助力企业快速构建标准化、高可用的 API 集成开发平台。
🔥Avue.js是基于现有的element-plus库进行的二次封装,简化一些繁琐的操作,核心理念为数据驱动视图,主要的组件库针对table表格和form表单场景,同时衍生出更多企业常用的组件,达到高复用,容易维护和扩展的框架,同时内置了丰富了数据展示组件,让开发变得更加容易。
Unify框架核心价值为‘整合异构能力、统一 API 入口、全链路安全可控、可视化运维治理’,助力企业快速构建标准化、高可用的 API 集成开发平台。Unify框架是一个ESB风格的统一RestAPI框架,包含unify-common、unify-crud、unify-api、unify-camel、unify-cloud五个核心模块,为开发者提供统一的数据访问接口、CRUD操作能力和异构集成能力。整体模块分为基础层(unify-common)→ 数据层(unify-crud)→ 集成层(unify-camel)→ 治理层(unify-cloud)→ 入口层(unify-api),为企业级应用提供全链路支撑。
unify-common提供常见的工具类,如分布式Id、excel操作、文件上传/下载接口和service封装、统一消息中心、统一的数据推送和同步、缓存工具、分布式锁、序列化/反序列化工具;提供企业级应用的安全特性, 如属性配置加密、JWT token校验、AK/SK算法、端对端加密、WAF常见安全封装(请求频率限制、SQL 注入防护(CRUD DSL 层校验)、XSS/CSRF 防护、防重放攻击(基于nonce + 时间戳));其他特性如controller日志AOP、service层日志AOP、统一返回结果封装、数据校验工具(支持自定义校验规则、多语言提示、嵌套校验;支持 API 入参自动校验)、统一异常处理、日志脱敏(支持自定义脱敏字段)、多环境配置隔离、异常重试等功能。封装操作审计日志(记录接口调用人 / 时间 / 操作 / 结果),基于标准加密算法实现审计日志完整性保护,支持合规查询。
unify-crud提供数据库crud接口的统一封装,提供crud xml dsl语法对常见的数据库操作进行抽象,开发人员可以通过自定义的dsl语法完成crud接口的配置,实现对crud接口层的安全控制。crud dsl操作支持基础的增删改查、条件查询(如范围、模糊、IN)、联表查询、批量操作;支持数据权限控制和crud缓存增强;支持多数据源动态切换。crud dsl规范详细见[../../../docs/crud_dsl.md]
unify-camel提供apache camel框架的封装,可以通过apache camel xml语法定义动态加载apache camel接口,支持rest、rabbitmq、ftp、webservice等常见协议,支持字段映射(不同协议报文字段映射)、格式转换(JSON/XML/Protobuf 互转)、数据清洗(空值处理 / 格式标准化)、多版本报文适配,快速完成接口配置开发。
unify-cloud集成zipkin、spring cloud stream、nacos、openfeign、cloud loadbalance等云原生开发能力,支持统一的服务配置和服务管理。集成基于 Resilience4j 的熔断限流机制,规则可通过 Nacos 动态配置,支持接口级 / 服务级限流熔断。Zipkin 链路追踪能力可贯穿 unify-api→unify-camel→unify-crud 全链路,基于 unify-common 封装的 TraceId 实现上下文统一传递。
unify-api集成unify-crud、unify-camel、unify-cloud提供统一的api接口,接口报文和格式遵循rest api接口格式。通过接口中动态传递的资源名称来定位唯一的资源,结合常见的crud接口提供统一的资源操作接口,实现统一的api接口。整体功能包括接口版本管理、OpenAPI 文档、统一鉴权增强、接口限流、接口防重放攻击(基于nonce + 时间戳),集成spring boot admin轻量的运维界面(接口管理、配置管理、监控查看、日志检索、多渠道告警推送),提供Prometheus监控指标。
用户故事: 作为开发人员,我希望有一份完整的架构说明书文档,以便我能够理解Unify框架的整体架构和各模块职责。
用户故事: 作为架构师,我希望文档能详细说明框架的核心功能和特性,以便我能够评估框架是否适合项目需求。
用户故事: 作为新团队成员,我希望文档提供清晰的使用指南和示例,以便我能够快速上手使用框架。
用户故事: 作为运维人员,我希望文档包含运维相关的信息,以便我能够有效地监控和维护框架。
此文档由kiro生成