大家好我是仁杰,今天给大家分享一款基于Spring Cloud Alibaba的微服务架构。旨在为大家提供技术框架的基础能力的封装,减少开发工作,让开发的只专注业务。
特点
- 主体框架:采用最新的Spring Cloud 2021、SpringBoot2.7.10、Spring Cloud Alibaba2021版本;
- 统一注册:支持nacos作为注册中心,实现多配置、分群组、分命名空间、多业务模块;
- 统一认证:统一Oauth2认证协议,采用jwt的方式,实现统一认证,并支持自定义grant_type实现手机号码登录,第三方登录集成JustAuth实现微信、支付宝等多种登录模式;
- 业务监控:利用Spring Boot Admin来监控各个独立Service的运行状态。
- 内部调用:集成了Feign和Dubbo两种模式支持内部调用,并且可以实现无缝切换,快速熟悉项目;
- 业务熔断:采用Sentinel实现业务熔断处理,避免服务之间出现雪崩;
- 身份注入:通过注解的方式,实现用户登录信息的快速注入;
- 在线文档:通过接入Knife4j,实现在线API文档的查看与调试;
- 代码生成:基于Mybatis-plus-generator自动生成代码,提升开发效率;
- 消息中心:集成消息中间件RocketMQ和Kafka,对业务进行异步处理;
- 业务分离:采用前后端分离的框架设计,前端采用vue-element-admin;
- 链路追踪:自定义traceId的方式,实现简单的链路追踪功能
- 多租户功能:集成Mybatis Plus,实现SAAS多租户功能
预览
登录页面
工作台
分析页
用户管理
组织架构
职位管理
系统设置
字典管理
地区信息
菜单管理
角色管理
应用管理
租户管理
动态数据集
我的消息
发布消息
测试消息
代码生成
自定义页面
设计表单
登录日志
操作日志
异常日志
部署
技术栈
- Vue 3.2.45
- Pinia 2.0.28
- Vue-i18n 9.1.8
- Ant-design-vue 2.2.6
- Axios 1.2.1
- Vue-router 4.3.8
- Vite 3.2.5
导入SQL文件
/doc/sql/matex.sql
导入Nacos配置
# 通用配置
/doc/nacos/mate.yaml
# 数据库、redis等配置参数
/doc/nacos/mate-local.yaml
# 动态路由配置参数
/doc/nacos/mate-dynamic-routes.yaml
修改mate-local.yaml配置
spring:
redis:
#redis 单机环境配置
host: 127.0.0.1
port: 6379
password:
database: 0
ssl: false
#redis 集群环境配置
#cluster:
# nodes: 127.0.0.1:7001,127.0.0.1:7002,127.0.0.1:7003
# commandTimeout: 5000
mate:
datasource:
url: jdbc:mysql://127.0.0.1:3306/matex?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull
username: root
password: root
必要启动模块
# 启动认证模块(mate-uaa)
运行vip.mate.uaa.MateUaaServer
# 启动系统模块(mate-system)
运行vip.mate.system.MateSystemServer
# 启动代码模块(mate-code)[可选]
运行vip.mate.code.MateCodeServer
# 启动网关模块(mate-gateway)
运行vip.mate.gateway.MateGatewayServer
总结
项目代码优美、文档齐全、代码逻辑清晰、注释齐全、架构清晰,非常适合学习和企业作为基础框架使用。