- 核心功能
- 统一认证功能
- 网关统一认证
- url级权限控制
- 支持oauth2的四种模式登录
- 支持用户名、密码加图形验证码登录
- 支持手机号加密码登录
- 支持openId登录
- 支持第三方系统单点登录
- 分布式系统基础支撑
- 服务注册发现、路由与负载均衡
- 服务降级与熔断
- 服务限流(url/方法级别)
- 统一配置中心
- 统一日志中心
- 统一搜索中心
- 统一分布式缓存操作类、cacheManager配置扩展
- 分布式锁
- 分布式任务调度器
- 支持CI/CD持续集成(包括前端和后端)
- 分布式Id生成器
- 分布式事务(强一致性/最终一致性)
- 日志链路追踪
- 系统监控功能
- 服务调用链监控
- 应用拓扑图
- 应用统一日志查询
- 慢查询SQL监控
- 应用吞吐量监控(qps、rt)
- 服务降级、熔断监控
- 服务限流监控
- 微服务服务监控
- 服务器监控
- redis监控
- mysql监控
- elasticSearch监控
- nacos监控
- prometheus监控
- 业务基础功能支撑
- 多租户(应用隔离)
- 高性能方法级幂等性支持
- RBAC权限管理,实现细粒度控制(方法、url级别)
- 快速实现导入、导出功能
- 数据库访问层自动实现crud操作
- 代码生成器
- 基于Hutool的各种便利开发工具
- 网关聚合所有Swagger接口文档
- 统一跨域处理
- 统一异常处理
- 前后端分离的企业级微服务架构
- 基于
SpringBoot2.x
、Spring Cloud
和Spring Cloud Alibaba
- 主要针对解决微服务和业务开发时常见的非功能性需求
- 深度定制
Spring Security
真正实现了基于RBAC
、jwt
和oauth2
的无状态统一权限认证的解决方案 - 面向互联网设计,同时适合B端和C端用户
- 支持CI/CD多环境部署
- 提供应用管理,方便第三方系统接入,支持多租户(应用隔离)
- 引入组件化的思想实现高内聚低耦合并且高度可配置化
- 注重代码规范,严格控制包依赖,每个工程基本都是最小依赖
- 非常适合学习和企业中使用
环境准备
前期准备
- maven配置阿里云镜像,修改
settings.xml
文件在mirrors
块里添加以下内容
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
-
在idea安装
lombok
插件 -
在idea安装
MybatisX Plugin
插件(选装) -
准备好数据库5.7+或8.0.14+
-
初始化数据库
- 脚本路径:
zlt-doc/sql
- 脚本路径:
-
准备好Redis
-
准备好注册中心Nacos
- 下载地址:Releases · alibaba/nacos · GitHub
- 启动命令地址:
nacos\bin
确保机器已经有
JDK1.8
的运行环境,可以通过java -version
命令检查#Windows直接运行下面的文件
startup.cmdnacos2.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
是在本机启动的话就改为以下地址
spring.cloud.nacos.server-addr=127.0.0.1:8848
必要启动模块
- 启动认证中心
zlt-uaa
运行 com.central.UaaServerApp
- 启动用户中心
zlt-bussiness/user-center
运行 com.central.UserCenterApp
- 启动网关
zlt-gateway/sc-gateway
运行 com.central.SCGatewayApp
- 启动前端工程
zlt-web/react-web
或者zlt-web/layui-web
具体运行方式请参考 zlt-web\README.md
访问系统
http://127.0.0.1:8066
admin/admin