# wdsh
**Repository Path**: gitKing/wdsh
## Basic Information
- **Project Name**: wdsh
- **Description**: 基于本人的mts模板工程创建,包括Nacos(Nginx代理3台Nacos)、Sentinel降级熔断与限流、Gateway网关、OpenFeign服务调用、Ribbon负载均衡、Seata分布式事务、Snowflake分布式全局id、MySQL一主一备两从高可用(MyCat)、Redis哨兵模式一主两从、Spring Security OAuth2.0、MyBatisPlus、Swagger文档等功能,前端采用vue+ElementUI实现的wdsh-front
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 3
- **Created**: 2020-08-20
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 说明文档
## 一、简介
:fire: **本项目基于本人的mts模板工程,[点击这里查看](https://gitee.com/haifeng_org/mts),本文注重整体技术解决方案,前端工程这里我只提供个具有登录、刷新Token等框架层相关功能,其他具体对应菜单的增删改查就不写了,可以自己实现,有问题欢迎交流**
### 1.1、设计思路
大致如图:

### 1.2、项目版本及功能
Spring Boot :2.2.5.RELEASE
Spring Cloud:Hoxton.SR3
Spring Cloud Alibaba:2.2.1.RELEASE
spring-cloud-starter-alibaba-seata:2.2.1
:point_right: **已实现以下功能:**
1、使用Nacos 1.2.1做服务注册、配置中心、消息总线(Nginx代理3台Nacos,由于每台Nacos默认内存2g,注意适当修改)。
2、负载均衡:网关使用Sentinel自带的Ribbon,服务间调用使用OpenFeign自带的Ribbon。
3、使用Spring Cloud Gateway作为网关,网关主要用作路由、鉴权、限流、降级、熔断、接口文档聚合等作用。
4、服务降级、熔断、限流使用的是Sentinel 1.7.1,动态读取Nacos中的网关规则
5、权限框架使用的是Spring Security OAuth2.0 基于JWT令牌方式。
6、分布式事务:Seata 1.1.0。
7、分布式ID:SnowFlake。
8、接口文档:Swagger,通过网关聚合所有微服务。
9、持久层框架采用MyBatis Plus 3.3.1,简便开发,提高效率。
10、数据库采用高可用一主一备两从的方案,使用MyCat中间件来集成:MySQL 5.7.25,连接池:HikariCP。
11、缓存使用高可用的Redis哨兵模式:一主两从。
12、消息队列集成RabbitMQ。
### 1.4、模块介绍
```txt
|--wdsh 父模块
|----wdsh-api :api模块集合
|--------wdsh-api-sys :系统API
|----wdsh-auth :认证授权模块
|----wdsh-business :业务模块集合
|--------mts-business-sys :系统业务
|----wdsh-common :公共模块集合
|--------wdsh-common-base :基础
|--------wdsh-common-datasource :数据源,分布式事务,mybatis
|--------wdsh-common-redis :缓存Redis
|--------wdsh-common-rabbit :消息队列
|----wdsh-gateway :网关
```
### 1.5、截图
**1、nacos中存储流控规则以及微服务的动态配置**

**2、nacos采用Nginx集群3台,达到高可用**

**3、sentinel控制台实时动态生效在nacos中配置的流控规则**

**4、MySQL高可用集群,采用端口8066的MyCat作为中间件集成**

**5、Redis高可用哨兵模式一主两从**

**6、消息队列RabbitMQ演示**

**7、接口文档**

**8、前端登录页面**

**9、前端页面效果**

## 二、联系与赞助
联系QQ:184377902
邮箱:haifeng_personal@aliyun.com
