Skip to content
On this page

微服务开发框架

框架概述

基于微服务主流技术栈,以开源结合自研的方式,研发实现模块化、插件化、轻量化开发框架。 主要建设内容是基于Spring Boot2.X技术,通过Maven管理依赖,以SDK方式集成基础组件。 本着简化开发、降本增效的初衷,框架以SPI方式集成可插拔的常用中间件集成组件和权限认证组件,适用于混合云技术体系架构。 以无侵入方式接入微服务治理平台,享有治理、流控、应用监控等能力。

功能介绍

功能架构

微服务开发框架·功能架构

image

图1 功能架构

微服务开发框架·功能概览

编号子系统描述
1多协议支持Feign、dubbo、GRPC调用方式
2鉴权认证登录认证、权限认证、Session会话、单点登录、OAuth2.0、微服务网关鉴权 等一系列权限相关问题
3单元测试Controller 、Service、Mapper层方法测试
4系统管理用户权限、用户、角色、菜单、登陆日志、操作日志资源信息管理
5数据权限支持查看本人数据、部门数据及下属数据
6excelexcel数据导入导出
7日志链路日志及业务日志记录
8websocket支持websocket通信
9groovy支持groovy脚本
10多级缓存支持多级缓存同步更新;支持多级缓存同步删除;支持缓存过期策略配置
11Redission根据不同的注解类型定义不同类型的分布式锁;支持单节点模式、哨兵模式、主从模式、集群模式等模式
12RocketMQ支持发布/订阅(Pub/Sub)、集群消费、广播消费等多种主题模式;支持顺序、分布式事务、定时/延时等多种类型消息
13OSS支持对Bucket对象的增、删、改、查操作;支持对文件对象的上传、下载、删除、拷贝等操作
14Drools支持自定义配置规则引擎文件的刷新频率;支持多种规则引擎文件如标准drl,excel,csv的读取;支持在引擎文件中编写Java代码
表1 功能概览

技术架构

微服务开发框架·技术架构

image

图2 技术架构

功能概览

产品特性

  • 标准化工程、代码质量高、服务之间交互、调用规范化;
  • 各个模块通过API相互依赖,降低了耦合性;
  • 依赖统一管理,避免依赖冲突,易维护、易扩展;
  • 自由组合细粒度模块依赖,实现不同功能的组合和剔除,让项目体积灵活控制,从而更方便地搭建不同的业务系统;
  • 多维权限访问控制、安全控制;
  • 灵活的权限控制,可控制到页面或按钮,满足绝大部分的权限需求;
  • 友好的代码结构及注释;
  • 实现前后端分离,通过Token进行数据交互;
  • 引入Swagger2文档支持,方便编写API接口文档;
  • 实现Docker容器化部署;

核心能力

  • 标准的微服务框架
    • 提供清晰的业务结构层次,提供统一的开发规范;
    • 提供统一的异常处理;
    • 提供统一的API接口管理;
    • 提供更快更安全的数据访问功能;
    • 支持不同协议下服务间通信。
  • 中间件集成组件
    • 缓存中间件集成组件,支持多级缓存同步更新;支持多级缓存同步删除;支持缓存过期策略配置,根据不同的注解类型定义不同类型的分布式锁;
    • 消息队列中间件集成组件,支持发布/订阅(Pub/Sub)、集群消费、广播消费等多种主题模式;支持顺序、分布式事务、定时/延时等多种类型消息;
    • 对象存储中间件集成组件,支持对Bucket对象的增、删、改、查操作;支持对文件对象的上传、下载、删除、拷贝等操作;
    • 支持自定义配置规则引擎文件的刷新频率;支持多种规则引擎文件如标准drl,excel,csv的读取。
  • 微应用公共服务组件
    • 权限认证uaac是轻量级权限认证框架,主要解决: 登录认证 、 权限认证 、 Session会话 、 单点登 录 、 OAuth2.0 、 微服务⽹关鉴权;
    • 系统管理提供组织机构、角色用户、菜单及按钮授权管理、数据权限、系统参数、模块管理、字典管理,管理多租户、多应用。

核心价值

  • 标准化工程、代码规范;易扩展、易维护;
  • 技术栈统一,无学习成本,从而提高开发效率,降低系统的开发成本;
  • 通过无侵入技术接入到服务治理平台;