Appearance
微服务开发框架
框架概述
基于微服务主流技术栈,以开源结合自研的方式,研发实现模块化、插件化、轻量化开发框架。 主要建设内容是基于Spring Boot2.X技术,通过Maven管理依赖,以SDK方式集成基础组件。 本着简化开发、降本增效的初衷,框架以SPI方式集成可插拔的常用中间件集成组件和权限认证组件,适用于混合云技术体系架构。 以无侵入方式接入微服务治理平台,享有治理、流控、应用监控等能力。
功能介绍
功能架构
微服务开发框架·功能架构
图1 功能架构
微服务开发框架·功能概览
编号 | 子系统 | 描述 |
---|---|---|
1 | 多协议 | 支持Feign、dubbo、GRPC调用方式 |
2 | 鉴权认证 | 登录认证、权限认证、Session会话、单点登录、OAuth2.0、微服务网关鉴权 等一系列权限相关问题 |
3 | 单元测试 | Controller 、Service、Mapper层方法测试 |
4 | 系统管理 | 用户权限、用户、角色、菜单、登陆日志、操作日志资源信息管理 |
5 | 数据权限 | 支持查看本人数据、部门数据及下属数据 |
6 | excel | excel数据导入导出 |
7 | 日志 | 链路日志及业务日志记录 |
8 | websocket | 支持websocket通信 |
9 | groovy | 支持groovy脚本 |
10 | 多级缓存 | 支持多级缓存同步更新;支持多级缓存同步删除;支持缓存过期策略配置 |
11 | Redission | 根据不同的注解类型定义不同类型的分布式锁;支持单节点模式、哨兵模式、主从模式、集群模式等模式 |
12 | RocketMQ | 支持发布/订阅(Pub/Sub)、集群消费、广播消费等多种主题模式;支持顺序、分布式事务、定时/延时等多种类型消息 |
13 | OSS | 支持对Bucket对象的增、删、改、查操作;支持对文件对象的上传、下载、删除、拷贝等操作 |
14 | Drools | 支持自定义配置规则引擎文件的刷新频率;支持多种规则引擎文件如标准drl,excel,csv的读取;支持在引擎文件中编写Java代码 |
表1 功能概览
技术架构
微服务开发框架·技术架构
图2 技术架构
功能概览
产品特性
- 标准化工程、代码质量高、服务之间交互、调用规范化;
- 各个模块通过API相互依赖,降低了耦合性;
- 依赖统一管理,避免依赖冲突,易维护、易扩展;
- 自由组合细粒度模块依赖,实现不同功能的组合和剔除,让项目体积灵活控制,从而更方便地搭建不同的业务系统;
- 多维权限访问控制、安全控制;
- 灵活的权限控制,可控制到页面或按钮,满足绝大部分的权限需求;
- 友好的代码结构及注释;
- 实现前后端分离,通过Token进行数据交互;
- 引入Swagger2文档支持,方便编写API接口文档;
- 实现Docker容器化部署;
核心能力
- 标准的微服务框架
- 提供清晰的业务结构层次,提供统一的开发规范;
- 提供统一的异常处理;
- 提供统一的API接口管理;
- 提供更快更安全的数据访问功能;
- 支持不同协议下服务间通信。
- 中间件集成组件
- 缓存中间件集成组件,支持多级缓存同步更新;支持多级缓存同步删除;支持缓存过期策略配置,根据不同的注解类型定义不同类型的分布式锁;
- 消息队列中间件集成组件,支持发布/订阅(Pub/Sub)、集群消费、广播消费等多种主题模式;支持顺序、分布式事务、定时/延时等多种类型消息;
- 对象存储中间件集成组件,支持对Bucket对象的增、删、改、查操作;支持对文件对象的上传、下载、删除、拷贝等操作;
- 支持自定义配置规则引擎文件的刷新频率;支持多种规则引擎文件如标准drl,excel,csv的读取。
- 微应用公共服务组件
- 权限认证uaac是轻量级权限认证框架,主要解决: 登录认证 、 权限认证 、 Session会话 、 单点登 录 、 OAuth2.0 、 微服务⽹关鉴权;
- 系统管理提供组织机构、角色用户、菜单及按钮授权管理、数据权限、系统参数、模块管理、字典管理,管理多租户、多应用。
核心价值
- 标准化工程、代码规范;易扩展、易维护;
- 技术栈统一,无学习成本,从而提高开发效率,降低系统的开发成本;
- 通过无侵入技术接入到服务治理平台;