FEBS Cloud 微服务权限系统
FEBS Cloud是一款使用Spring Cloud Hoxton.RELEASE、Spring Cloud OAuth2 & Spring Cloud Alibaba构建的低耦合权限管理系统,前端(FEBS Cloud Web)采用vue element admin构建。FEBS意指:Fast,Easy use,Beautiful和Safe。该系统具有如下特点:
序号 |
特点 |
1 |
前后端分离架构,客户端和服务端纯Token交互; |
2 |
认证服务器与资源服务器分离,方便接入自己的微服务系统 |
3 |
集成Prometheus,SpringBootAdmin,Skywalking APM |
4 |
网关限流,网关黑名单限制,网关日志(WebFlux编程实践) |
5 |
微服务Docker化,使用Docker Compose一键部署,K8S集群 |
6 |
社交登录,认证授权,数据权限,前后端参数校验,Starter开箱即用等 |
7 |
Doc Starter,几行配置自动生成系统api接口文档 |
8 |
OAuth2 4种模式+刷新令牌模式,提供5种获取系统令牌方式 |
服务模块
FEBS模块:
服务名称 |
端口 |
描述 |
FEBS-Auth |
8101 |
微服务认证服务器 |
FEBS-Server-System |
8201 |
微服务子系统,系统核心模块 |
FEBS-Server-Test |
8202 |
微服务子系统,Demo模块 |
FEBS-Server-Generator |
8203 |
微服务子系统,代码生成模块 |
FEBS-Server-Job |
8204 |
微服务子系统,任务调度模块 |
FEBS-Gateway |
8301 |
微服务网关 |
FEBS-Admin |
8401 |
微服务监控子系统 |
FEBS-Tx-Manager |
8501 |
微服务分布式事务控制器 |
第三方模块:
服务名称 |
端口 |
描述 |
Nacos |
8001 |
注册中心,配置中心 |
MySQL |
3306 |
MySQL 数据库 |
Redis |
6379 |
K-V 缓存数据库 |
Elasticsearch |
9200 |
日志存储 |
Logstash |
4560 |
日志收集 |
Kibana |
5601 |
日志展示 |
Prometheus |
8403~8409 |
Prometheus APM |
Skywalking |
11800、12800、8080 |
Skywalking APM |
目录结构
├─febs-apm ------ 微服务APM模块
│ ├─febs-admin ------ 微服务监控中心
│ ├─prometheus-grafana ------ prometheus grafana apm相关配置,docker文件
│ └─skywalking-elk ------ skywalking elk相关配置,docker文件
├─febs-auth ------ 微服务认证服务器
├─febs-cloud ------ 整个项目的父模块
│ ├─sql ------ SQL脚本
│ ├─postman ------ postman脚本
│ └─docker compose ------ 项目相关docker compose文件
├─febs-common ------ 通用模块
│ ├─febs-common-core ------ 系统核心依赖包
│ ├─febs-common-datasource-starter ------ 系统数据库自动装配starter
│ ├─febs-common-doc ------ 文档模块的核心依赖包
│ ├─febs-common-doc-gateway-starter ------ 网关聚合微服务子系统api文档自动装配starter
│ ├─febs-common-doc-starter ------ 微服务子系统api文档自动装配starter
│ ├─febs-common-redis-starter ------ 系统Redis自动装配starter
│ └─febs-common-security-starter ------ 微服务子系统安全配置自动装配starter
├─febs-gateway ------ 微服务网关
├─febs-server ------ 微服务子系统
│ ├─ebs-server-system ------ 微服务子系统系统核心模块
│ ├─febs-server-test ------ 微服务子系统demo模块
│ ├─febs-server-generator ------ 微服务子系统代码生成模块
│ └─febs-server-job ------ 微服务子系统任务调度模块
└─febs-tx-manager ------ 微服务分布式事务控制器