打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
开源」前后端分离的企业级微服务多租户系统架构,快速开发平台

一、开源项目简介

基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba并采用前后端分离的企业级微服务多租户系统架构。并引入组件化的思想实现高内聚低耦合,项目代码简洁注释丰富上手容易,适合学习和企业中使用。真正实现了基于RBAC、jwt和oauth2的无状态统一权限认证的解决方案,面向互联网设计同时适合B端和C端用户,支持CI/CD多环境部署,并提供应用管理方便第三方系统接入;同时还集合各种微服务治理功能和监控功能。模块包括:企业级的认证系统、开发平台、应用监控、慢sql监控、统一日志、单点登录、Redis分布式高速缓存、配置中心、分布式任务调度、接口文档、代码生成等等。

二、开源协议

使用Apache-2.0开源协议

三、界面展示

四、功能概述

  • 演示环境有全方位的监控示例:日志系统 + APM系统 + GPE系统

  • 前后端分离的企业级微服务架构

  • 基于 SpringBoot2.xSpring Cloud 和 Spring Cloud Alibaba

  • 主要针对解决微服务和业务开发时常见的非功能性需求

  • 深度定制Spring Security真正实现了基于RBACjwtoauth2的无状态统一权限认证的解决方案

  • 面向互联网设计,同时适合B端和C端用户

  • 支持CI/CD多环境部署

  • 提供应用管理,方便第三方系统接入,支持多租户(应用隔离)

  • 引入组件化的思想实现高内聚低耦合并且高度可配置化

  • 注重代码规范,严格控制包依赖,每个工程基本都是最小依赖

  • 非常适合学习和企业中使用

核心功能

统一认证功能网关统一认证url级权限控制支持oauth2的四种模式登录支持用户名、密码加图形验证码登录支持手机号加密码登录支持openId登录支持第三方系统单点登录

分布式系统基础支撑服务注册发现、路由与负载均衡服务降级与熔断服务限流(url/方法级别)统一配置中心统一日志中心统一搜索中心统一分布式缓存操作类、cacheManager配置扩展分布式锁分布式任务调度器支持CI/CD持续集成(包括前端和后端)分布式Id生成器分布式事务(强一致性/最终一致性)日志链路追踪

系统监控功能服务调用链监控应用拓扑图应用统一日志查询慢查询SQL监控应用吞吐量监控(qps、rt)服务降级、熔断监控服务限流监控微服务服务监控服务器监控redis监控mysql监控elasticSearch监控nacos监控prometheus监控

业务基础功能支撑多租户(应用隔离)高性能方法级幂等性支持RBAC权限管理,实现细粒度控制(方法、url级别)快速实现导入、导出功能数据库访问层自动实现crud操作代码生成器基于Hutool的各种便利开发工具网关聚合所有Swagger接口文档统一跨域处理统一异常处理

五、技术选型

1. 总体架构图

运行环境

工具

版本

Java

8

Maven

3.5.3

Redis

4+

Mysql

5.7+ ,8.0.14+

Elasticsearch

7.x

代码仓库

gitee

Maven镜像

阿里云镜像

IDE

强力推荐IDEA

Docker

1.13.1+

环境准备

前期准备

  • maven配置阿里云镜像,修改settings.xml文件在mirrors块里添加以下内容






  • 在idea安装lombok插件

  • 在idea安装MybatisX Plugin插件(选装)

  • 准备好数据库5.7+或8.0.14+

  • 初始化数据库

  • 脚本路径:zlt-doc/sql

  • 准备好Redis

  • 准备好注册中心Nacos

  • 下载地址:https://github.com/alibaba/nacos/releases

  • 启动命令地址:nacos\bin

  • 确保机器已经有 JDK1.8 的运行环境,可以通过 java -version 命令检查

  • #Windows直接运行下面的文件
    startup.cmd

  • nacos2.0之后 startup.cmd 也改成默认为cluster模式了

  • #Linux/Unix/Mac系统默认是集群模式,所以需要添加standalone改为单机模式
    sh startup.sh -m standalone

  • 修改zlt-config/src/main/resources/application-dev.properties里面的配置参数

  • 数据库配置

  • redis配置

  • elasticsearch配置非必须,如果不启用日志功能可不管

  • sentinel配置非必须,主要是用于展示应用吞吐量

  • 修改zlt-config/src/main/resources/bootstrap.properties文件里的nacos地址参数,如nacos是在本机启动的话就改为以下地址


必要启动模块

必要启动模块

  • 启动认证中心zlt-uaa

运行 com.central.UaaServerApp

  • 启动用户中心zlt-bussiness/user-center

运行 com.central.UserCenterApp

  • 启动网关zlt-gateway/sc-gateway

运行 com.central.SCGatewayApp

  • 启动前端工程zlt-web/back-web

运行
com.central.web.BackWebApplication

访问系统


扩展模块(可选)

  • 1. 文件中心

  • 2. 代码生成器

  • 3. 微服务应用监控

  • 4. 统一配置中心

  • 5. 统一日志中心

  • 6. 慢查询sql

  • 7. 分布式任务调度

  • 8. 服务限流、降级熔断控制台和应用吞吐量监控

  • 9. APM监控

  • 10. 分布式事务(tx-lcn)

  • 11. 搜索中心

  • 12. 首页(流量统计)

模块说明















































六、源码地址

访问一飞开源:https://code.exmay.com/

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
终于有人把Spring Cloud+Nginx架构的主要组件给讲明白了
【发布】DDD 工程脚手架 + 一键安装分布式技术栈环境!
500万日订单下的高可用拼购系统,到底暗藏了什么“独门秘籍”?
Java在游戏服务器开发中应用【面试+提高】
就聊聊Java小白认知中的项目、真实项目和面试所用项目
实战分布式事务【Seata+Spring Cloud】
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服