README.md 7.2 KB
Newer Older
zlt2000's avatar
zlt2000 已提交
1 2
# microservices-platform

3
[![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html)<a href='https://gitee.com/zlt2000/microservices-platform'><img src='https://gitee.com/zlt2000/microservices-platform/widgets/widget_4.svg' alt='Fork me on Gitee'></img></a><a href='https://gitee.com/zlt2000/microservices-platform/stargazers'><img src='https://gitee.com/zlt2000/microservices-platform/badge/star.svg?theme=dark' alt='star'></img></a>
zlt2000's avatar
zlt2000 已提交
4

zlt2000's avatar
zlt2000 已提交
5 6 7 8 9 10
## 如果您觉得有帮助,请点右上角 "Star" 支持一下谢谢

[TOC]

## 1. 项目介绍

zlt2000's avatar
zlt2000 已提交
11
* **技术交流群** [250883130](http://shang.qq.com/wpa/qunwpa?idkey=17544199255998bda0d938fb72b08d076c40c52c9904520b76eb5eb0585da71e) 
zlt2000's avatar
zlt2000 已提交
12
* **详细在线文档** [点击查看](https://www.kancloud.cn/zlt2000/microservices-platform/936236)
zlt2000's avatar
zlt2000 已提交
13
* **演示地址**
zlt2000's avatar
zlt2000 已提交
14
  * url: [http://www.zltdiablo.cn:8066](http://www.zltdiablo.cn:8066)
zlt2000's avatar
zlt2000 已提交
15 16
  * 账号密码:admin/admin
  * 应用监控账号密码:admin/admin
zlt2000's avatar
zlt2000 已提交
17
  * 配置中心账号密码:nacos/nacos
zlt2000's avatar
zlt2000 已提交
18
  * APM监控账号密码:admin/admin
zlt2000's avatar
zlt2000 已提交
19
  * Grafana账号:zlt/zlt
zlt2000's avatar
zlt2000 已提交
20
  * txlcn事务管理器密码:admin
zlt2000's avatar
zlt2000 已提交
21
  * 任务管理账号密码:admin/123456
zlt2000's avatar
zlt2000 已提交
22
* **演示环境有全方位的监控示例:日志系统 + APM系统 + GPE系统**
23 24
* **[项目更新日志](https://www.kancloud.cn/zlt2000/microservices-platform/936235)**
* **[文档更新日志](https://www.kancloud.cn/zlt2000/microservices-platform/936236)**
zlt2000's avatar
zlt2000 已提交
25 26
* Gitee地址:https://gitee.com/zlt2000/microservices-platform
* Github地址:https://github.com/zlt2000/microservices-platform
zlt2000's avatar
zlt2000 已提交
27 28 29 30 31 32 33 34
* 前后端分离的企业级微服务架构
* 基于`Spring Boot 2.0.X``Spring Cloud Finchley``Spring Cloud Alibaba`
* 深度定制`Spring Security`真正实现了基于`RBAC``jwt``oauth2`的无状态统一权限认证的解决方案
* 提供应用管理,方便第三方系统接入
* 引入组件化的思想实现高内聚低耦合,项目代码简洁注释丰富上手容易
* 注重代码规范,严格控制包依赖,每个工程基本都是最小依赖
* 非常适合学习和企业中使用

zlt2000's avatar
zlt2000 已提交
35 36
> 重构于开源项目OCP&cp:https://gitee.com/owenwangwen/open-capacity-platform

zlt2000's avatar
zlt2000 已提交
37 38
&nbsp;

zlt2000's avatar
zlt2000 已提交
39
## 2. 项目总体架构图
zlt2000's avatar
zlt2000 已提交
40

41
![](http://processon.com/chart_image/5c7f2ad6e4b02b2ce48d6835.png?_=1554621571250)
zlt2000's avatar
zlt2000 已提交
42 43 44 45

&nbsp;

## 3. 功能介绍
zlt2000's avatar
zlt2000 已提交
46 47 48 49 50 51 52

* **统一认证功能**
  * 支持oauth2的四种模式登录
  * 支持用户名、密码加图形验证码登录
  * 支持手机号加密码登录
  * 支持openId登录
  * 支持第三方系统单点登录
zlt2000's avatar
zlt2000 已提交
53

zlt2000's avatar
zlt2000 已提交
54 55 56
* **分布式系统基础支撑**
  * 服务注册发现、路由与负载均衡
  * 服务降级与熔断
zlt2000's avatar
zlt2000 已提交
57
  * 服务限流(url/方法级别)
zlt2000's avatar
zlt2000 已提交
58 59 60 61 62
  * 统一配置中心
  * 统一日志中心
  * 统一分布式缓存操作类、cacheManager配置扩展
  * 分布式锁
  * 分布式任务调度器
zlt2000's avatar
zlt2000 已提交
63
  * 支持CI/CD持续集成(包括前端和后端)
zlt2000's avatar
zlt2000 已提交
64
  * 分布式高性能Id生成器
zlt2000's avatar
zlt2000 已提交
65
  * 分布式事务
zlt2000's avatar
zlt2000 已提交
66 67
* **系统监控功能**
  * 服务调用链监控
zlt2000's avatar
zlt2000 已提交
68 69
  * 应用拓扑图
  * 慢服务检测
zlt2000's avatar
zlt2000 已提交
70
  * 服务Metric监控
zlt2000's avatar
zlt2000 已提交
71
  * 应用监控(应用健康、JVM、内存、线程)
zlt2000's avatar
zlt2000 已提交
72
  * 错误日志查询
zlt2000's avatar
zlt2000 已提交
73
  * 慢查询SQL监控
zlt2000's avatar
zlt2000 已提交
74 75 76
  * 应用吞吐量监控(qps、rt)
  * 服务降级、熔断监控
  * 服务限流监控
77
  * 分库分表、读写分离
zlt2000's avatar
zlt2000 已提交
78 79 80 81 82 83 84 85 86 87 88
* **业务基础功能支撑**
  * 高性能方法级幂等性支持
  * RBAC权限管理,实现细粒度控制(方法、url级别)
  * 快速实现导入、导出功能
  * 数据库访问层自动实现crud操作
  * 代码生成器
  * 基于Hutool的各种便利开发工具
  * 网关聚合所有服务的Swagger接口文档
  * 统一跨域处理
  * 统一异常处理

zlt2000's avatar
zlt2000 已提交
89 90 91
&nbsp;

## 4. 模块说明
zlt2000's avatar
zlt2000 已提交
92 93 94 95 96 97

```lua
central-platform -- 父项目,公共依赖
  ├─zlt-business -- 业务模块一级工程
    ├─user-center -- 用户中心[7000]
    ├─file-center -- 文件中心[5000]
zlt2000's avatar
zlt2000 已提交
98
    ├─code-generator -- 代码生成器[7300]
zlt2000's avatar
zlt2000 已提交
99 100 101 102 103 104 105
  │─zlt-commons -- 通用工具一级工程
    ├─zlt-auth-client-spring-boot-starter -- 封装spring security client端的通用操作逻辑
    ├─zlt-common-spring-boot-starter -- 封装通用操作逻辑
    ├─zlt-db-spring-boot-starter -- 封装数据库通用操作逻辑
    ├─zlt-log-spring-boot-starter -- 封装log通用操作逻辑
    ├─zlt-redis-spring-boot-starter -- 封装Redis通用操作逻辑
    ├─zlt-ribbon-spring-boot-starter -- 封装Ribbon和Feign的通用操作逻辑
zlt2000's avatar
zlt2000 已提交
106
    ├─zlt-sentinel-spring-boot-starter -- 封装Sentinel的通用操作逻辑
zlt2000's avatar
zlt2000 已提交
107 108 109 110
    ├─zlt-swagger2-spring-boot-starter -- 封装Swagger通用操作逻辑
  ├─zlt-config -- 配置中心
  ├─zlt-doc -- 项目文档
  ├─zlt-gateway -- api网关一级工程
zlt2000's avatar
zlt2000 已提交
111
    ├─zuul-gateway -- netflix-zuul[9900]
zlt2000's avatar
zlt2000 已提交
112 113 114 115 116 117 118 119 120 121 122
  ├─zlt-job -- 分布式任务调度一级工程
    ├─job-admin -- 任务管理器[8081]
    ├─job-core -- 任务调度核心代码
    ├─job-executor-samples -- 任务执行者executor样例[8082]
  ├─zlt-monitor -- 监控一级工程
    ├─sc-admin -- 应用监控[6500]
    ├─log-center -- 日志中心[6200]
  ├─zlt-uaa -- spring-security认证中心[8000]
  ├─zlt-register -- 注册中心Nacos[8848]
  ├─zlt-web -- 前端一级工程
    ├─back-web -- 后台前端[8066]
zlt2000's avatar
zlt2000 已提交
123 124 125 126
  ├─zlt-transaction -- 事务一级工程
    ├─txlcn-tm -- tx-lcn事务管理器[7970]
  ├─zlt-demo -- demo一级工程
    ├─txlcn-demo -- txlcn的demo
127
    ├─sharding-jdbc-demo -- sharding-jdbc的demo
zlt2000's avatar
zlt2000 已提交
128 129
```

zlt2000's avatar
zlt2000 已提交
130 131 132
&nbsp;

## 5. 截图(点击可大图预览)
zlt2000's avatar
zlt2000 已提交
133 134

<table>
zlt2000's avatar
zlt2000 已提交
135 136 137 138
	<tr>
        <td><img src="https://gitee.com/zlt2000/images/raw/master/server_metrics.png"/></td>
        <td><img src="https://gitee.com/zlt2000/images/raw/master/application_metrics.png"/></td>
    </tr>
zlt2000's avatar
zlt2000 已提交
139 140
	<tr>
        <td><img src="https://gitee.com/zlt2000/images/raw/master/持续集成2.png"/></td>
141
        <td><img src="https://gitee.com/zlt2000/images/raw/master/sonar结果.png"/></td>
zlt2000's avatar
zlt2000 已提交
142
    </tr>
zlt2000's avatar
zlt2000 已提交
143 144 145 146
    <tr>
        <td><img src="https://gitee.com/zlt2000/images/raw/master/skywalking首页.png"/></td>
        <td><img src="https://gitee.com/zlt2000/images/raw/master/skywalking应用拓扑图.png"/></td>
    </tr>
zlt2000's avatar
zlt2000 已提交
147
    <tr>
zlt2000's avatar
zlt2000 已提交
148
        <td><img src="https://gitee.com/zlt2000/images/raw/master/elk.png"/></td>
zlt2000's avatar
zlt2000 已提交
149
        <td><img src="https://gitee.com/zlt2000/images/raw/master/任务中心.png"/></td>
zlt2000's avatar
zlt2000 已提交
150 151
    </tr>
    <tr>
zlt2000's avatar
zlt2000 已提交
152 153
        <td><img src="https://gitee.com/zlt2000/images/raw/master/日志中心02.png"/></td>
        <td><img src="https://gitee.com/zlt2000/images/raw/master/慢查询sql.png"/></td>
zlt2000's avatar
zlt2000 已提交
154 155
    </tr>
    <tr>
zlt2000's avatar
zlt2000 已提交
156 157
        <td><img src="https://gitee.com/zlt2000/images/raw/master/应用监控01.png"/></td>
        <td><img src="https://gitee.com/zlt2000/images/raw/master/应用监控02.png"/></td>
zlt2000's avatar
zlt2000 已提交
158 159
    </tr>
    <tr>
zlt2000's avatar
zlt2000 已提交
160
        <td><img src="https://gitee.com/zlt2000/images/raw/master/nacos-discovery.png"/></td>
zlt2000's avatar
zlt2000 已提交
161
        <td><img src="https://gitee.com/zlt2000/images/raw/master/应用吞吐量监控.png"/></td>
162
    </tr>
zlt2000's avatar
zlt2000 已提交
163
</table>