# open-cloud-pro
**Repository Path**: dingjunjun_codeSpace/open-cloud-pro
## Basic Information
- **Project Name**: open-cloud-pro
- **Description**: No description available
- **Primary Language**: Java
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2022-10-14
- **Last Updated**: 2022-10-14
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## SpringCloud微服务平台(专业版)
#### 开源不易,请随手给个Star! 感谢支持!
#### 简介
便于企业快速搭建SpringCloud微服务架构体系,并为APP端、WEB应用提供更安全有效接口对接能力。
+ 基于SpringCloud微服务分布式架构,基于Nacos统一服务发现与配置中心
+ 基于Spring Security、Oauth2的权限管理系统
+ 基于Spring Gateway、Zuul统一网关,提供APP端、第三方服务对接平台。支持(参数签名校验、第三方应用认证授权、接口限流、接口访问限制、接口状态控制)
+ 基于Vue开发的前后分离系统
+ 提供对常见容器化支持 Docker、Kubernetes的支持
在线体验 | 专业版服务端源码 | 专业版UI源码
+ 后台默认账号:admin 123456
+ 后台测试账号:test 123456
+ SpringBootAdmin账号:sba 123456
#### 核心依赖
依赖 | 版本
---|---
Spring Boot | 2.1.6.RELEASE
Spring Cloud | Greenwich.SR2
Spring Alibaba Cloud | 2.1.0.RELEASE
Mybatis Plus | 3.1.1
iView | 4.0.0
hutool | 4.1.19
#### 架构图
流程图设计:processon.com

#### 使用手册
使用手册
#### 交流群
学习交流(千人群):760809808
#### 代码结构
``` lua
open-cloud-pro
├── docs -- 文档及脚本
├── bin -- 执行脚本
├── config -- 公共配置,用于导入到nacos配置中心
├── sql -- sql文件
├── clients -- 微服务fegin接口
├── bpm-client -- 工作流服务接口
├── job-client -- 定时任务服务接口
├── msg-client -- 消息服务接口
├── system-client -- 系统服务接口
├── README.md -- 开发文档说明
├── components -- 公共组件
├── common-core -- 提供工具类、封装类、全局异常解析等
├── common-starter -- SpringBoot自动配置类
├── java-sdk -- 开放api第三方集成SDK(完善中...)
├── tenant-starter -- 多租户模块,多数据源自动切换(完善中...)
├── dependencies -- jar包版本管理
├── cloud-clients-dependencies -- 业务组件版本管理
├── cloud-dependencies -- 所有jar版本管理
├── README.md -- 开发文档说明
├── gateway -- 网关
├── api-gateway-server -- 开放API网关(基于SpringGateway)[8888]
├── api-zuul-server -- 开放API网关(基于Zuul)[8888]
├── README.md -- 开发文档说明
├── samples -- 演示示例
├── sso-ui-demo -- 单点登录客户端演示
├── tenant-demo -- 多租户演示
├── server -- 应用服务
├── admin-server -- 后台认证服务&资源服务[8211]
├── generator-server -- 代码生成
├── sba-server -- SpringbootAdmin监控服务
├── site-server -- 官网认证服务&资源服务
├── README.md -- 开发文档说明
├── services -- 微服务
├── bpm-service -- 工作流服务[8255]
├── msg-service -- 消息服务[8266]
├── job-service -- 调度服务[8501]
├── system-service -- 系统管理服务[8233]
├── README.md -- 开发文档说明
```
#### 快速开始
本项目基于springCloud打造的分布式快速开发框架. 需要了解SpringCloud,SpringBoot,SpringSecurity,分布式原理。
1. 准备环境
+ Java1.8 (v1.8.0_131+)
+ Nacos服务注册和配置中心(v1.0.0+) 阿里巴巴nacos.io
+ Redis (v3.2.00+)
+ RabbitMq (v3.7+)(需安装rabbitmq_delayed_message_exchange插件 下载地址)
+ Mysql (v5.5.28+)
+ Maven (v3+)
+ Nodejs (v10.14.2+)
2. 执行创建数据库open-cloud
并执行/docs/sql下所有sql脚本
3. 启动nacos服务,新建公共配置文件
+ 访问 http://localhost:8848/nacos/index.html
+ 导入配置 /docs/config/nacos_config_expor.zip(nacos1.0.3以上版本支持一键导入)
如图:

4. 修改主pom.xml
初始化maven项目
``` bush
maven clean install
```
本地启动,默认不用修改
``` xml
127.0.0.1:8848
127.0.0.1:8848
```
5. 本地启动(按顺序启动)
1. [必需]SystemServiceApplication(系统服务)
2. [必需]AdminApplication(后台服务)
3. [必需]ApiGatewayApplication(开放网关)或ApiZuulApplication
```
访问 http://localhost:8888
```
4.[非必需]SpringBootAdmin(监控服务器)(非必需)
```
访问 http://localhost:8849
```
6. 前端启动
```bush
npm install
npm run dev
```
访问 http://localhost:8080
7. 项目打包部署
+ maven多环境打包,替换变量
```bush
mvn clean install package -P {dev|test|online}
```
+ 项目启动
```bush
./docs/bin/startup.sh {start|stop|restart|status} system-service.jar
./docs/bin/startup.sh {start|stop|restart|status} admin-server.jar
./docs/bin/startup.sh {start|stop|restart|status} api-spring-server.jar
```
8.docker部署
+ 配置DOCKER私服仓库
+ maven多环境打包,替换变量.并构建docker镜像
```bush
clean install package -P {dev|test|online} dockerfile:build
```
+ 启动docker容器
```bush
docker run -d -e JAVA_OPTS="-Xms128m -Xmx256m" -p 8233:8233 --name system-service cloud.pro/system-service:1.0.0
docker run -d -e JAVA_OPTS="-Xms128m -Xmx256m" -p 8211:8211 --name admin-server cloud.pro/admin-server:1.0.0
docker run -d -e JAVA_OPTS="-Xms128m -Xmx256m" -p 8888:8888 --name api-gateway-server cloud.pro/api-gateway-server:1.0.0
```
#### OAuth2使用说明
OAuth2