企业级微服务架构,服务灵活扩展。
- 采用前后端分离的模式,微服务版本前端(基于 vue-element-admin);
- 后端采用Spring Boot、Spring Cloud & Alibaba;
- 注册中心+配置中心选型Nacos;
- 权限认证使用spring security + Jwt token;
- 使用RocketMQ做消息总线
- 使用Redis缓存权证码、Token与权限
- 使用Alibaba sentinel做流量哨兵,提供服务限流与熔断
服务注册与调用 基于Nacos来实现的服务注册与调用,在Spring Cloud中使用Feign, 我们可以做到使用HTTP请求远程服务时能与调用本地方法一样的编码体验,开发者完全感知不到这是远程方法,更感知不到这是个HTTP请求。
服务鉴权
通过JWT的方式来加强服务之间调度的权限验证,保证内部服务的安全性。
负载均衡
将服务保留的rest进行代理和网关控制,除了平常经常使用的node.js、nginx外,Spring Cloud系列的gateway和ribbon,可以帮我们进行正常的网关管控和负载均衡。
其中扩展和借鉴国内Alibaba Sentinel组件,方面进行限流。
熔断机制
因为采取了服务的分布,为了避免服务之间的调用“雪崩”,采用了Hystrix的作为熔断器,避免了服务之间的“雪崩”。
ch-admin3
说明:静态页面(基于Vue + element-ui)
基本功能:
——系统管理
————用户管理
————角色管理
————权限管理
————组织管理
————职位管理
————数据字据
——日志管理
————登录日志
————操作日志
扩展功能:
——Canal管理
————集群管理
————服务管理
————实例管理
————告警管理
——Kafka管理
————群集管理
————主题管理
————消息搜索
————RPC泛化调用
ch-upms
说明:用户权限管理服务
提供用户、角色、权限、组织、职位、数据字典、日志等管理RestFul接口
ch-sso
说明:用户登录认证服务
提供用户登录、用户信息、Token刷新、网关权限认证RestFul接口
ch-gateway
说明:网关服务
提供Token鉴权、路由、请求日志记录
由于资源不足,未能提供演示环境,请参考以下安装教程
基础服务
- 安装数据库Mysql
- 安装缓存Redis
- 安装Nacos
- 安装prometheus(监控中间件,非必要安装)
- 安装grafana(监控面板,非必要安装)
开发一键部署
准备一台4核8G服务器
基于Docker安装开发环境
- 复制docker/base目录到服务器 - 切换到该目录
- 使用docker/base/docker-compose.yaml
docker-compose -f docker-compose.yml up -d
中间服务
- 安装RocketMQ
一键部署
- 复制docker/RocketMQ到服务器
- 切换到该目录
- 使用docker/RocketMQ /docker-compose.yaml
docker-compose -f docker-compose.yml up -d
应用服务
- 安装静态页面服务(请点击打开ch-admin3)
- 安装用户权限服务(请点击打开ch-upms)
- 安装用户登录认证服务(请点击打开ch-sso)
- 安装网关(鉴权、路由)服务(请点击打开ch-gateway)
扩展服务(非必要安装,代码不开放)
- Canal管理服务(请点击打开canal-admin)
- Kafka管理服务(请点击打开ch-kafka)
登录 | 首页 |
用户管理 | 角色管理 |
权限管理 | 组织管理 |
职位管理 | 数据字典 |
登录日志 | 操作日志 |