金中技术框架

金中公司开发的系统是由一个商业级项目升级优化而来的Spring Cloud Alibaba微服务架构,基于Java8 API技术重构了业务代码,采用Spring Boot 2 、Spring Cloud Greenwich 、Mybatis 等核心技术,同时提供基于Vue的前端框架用于快速搭建企业级的微服务系统平台。

系统采用前后端分离的模式,前端基于  Vue、 Element-UI,后端采用Spring Cloud Alibaba 全家桶,并同时对其基础组件做了高度的封装,单独开源出一个框架:Maven中央库引入即可,减少了工程的臃肿,也可更注重于业务开发 集成Sentinel从流量控制、熔断降级、系统负载等多个维度保护服务的稳定性。注册中心、配置中心选型Nacos,为工程瘦身的同时加强各模块之间的联动。

阿里巴巴Spring Cloud架构图(hxh).jpg

(一)主要特性

1、使用Traefik进行反向代理,监听后台变化自动化应用新的配置文件。
2、极简封装了多租户底层,用更少的代码换来拓展性更强的SaaS多租户系统。
3、借鉴OAuth2,实现了多终端认证系统,可控制子系统的token权限互相隔离。
4、借鉴Security,封装了Secure模块,采用JWT做Token认证,可拓展集成Redis等细颗粒度控制方案。
5、Greenwich的技术架构, k8s + jenkins的部署架构,项目分包明确,规范微服务的开发模式,使包与包之间的分工清晰。

(二)技术优势


1、组件式架构

业务工程与核心工程分离,以jar的形式依赖。为业务定制各个starter,引入开箱即用,为整个架构解耦,提高效率。

2、前后端分离

采用前后端分离模式,前端提供ElementUI、UNI-APP基于Vue架构。分布式单体式后端架构提供两套后端架构,基于Spring Cloud的分布式架构以及基于Spring Boot的单体式架构。

3、完善的权限管理

系统提供菜单按钮权限、数据权限、接口权限三种配置。基于注解+Web的组合配置方式,灵活多变,即时生效。

4、主流数据库兼奢

一套代码完全兼容Mysql、OracIe、PostgreSQL三大主流数据库,为各种不同需求的项目提供强力支持。

5、Nacos动态网关鉴权、动态聚合文档

集成Nacos完成统一的服务注册与配置的轻量级、高拓展性动态网关鉴权,可在线配置,实时生效。实现Swagger Spring Cloud聚合文档。

6、Sentinel服务限流熔断

集成Sentinel从流量控制、熔断降级、系统负载等多个维度保护服务的稳定性。

(三)Web后端

基于Spring Cloud Alibaba微服务框架开发


1、系统环境
2、主框架
3、持久层


(四)Web前端

严格按照前后端分离模式开发Vue 2.6.x Axios 0.21.0 Element 2.14.x

(五)APP前端

        包括Android和IOS,APP前端框架使用 uni-app框架,开发者编写一套代码,可发布到 IOS、Android、Web(响应式)、以及各种小程序、快应用等多个平台,实现快速开发,快速部署发布。并且可对接具备相应平台SDK开发包的第三方硬件或应用系统。

(六)运行环境



(七)Docker部署

         应用系统各模块及相关依赖、中间件需打包成 docker 部署镜像,支持通过 docker 快速部署。