# reddog-reactor **Repository Path**: baogs/reddog-reactor ## Basic Information - **Project Name**: reddog-reactor - **Description**: reactor-reddog简称RDG是基于Spring Cloud的企业级微服务框架(用户权限管理,配置中心管理,应用管理,....),其核心的设计目标是分离前后端,快速开发部署,学习难度大,功能很强大,提供快速接入核心接口能力,一站式响应式微服务框架 - **Primary Language**: Java - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-03-18 - **Last Updated**: 2021-05-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # reddog-reactor

Nacos SpringCloud SpringBoot SpringBoot SpringCloudfunction SpringBoot SpringBoot SpringBoot SpringBoot iview vue License

## SpringCloud-webflux微服务平台 3.2.0-REALSE #### 简介 搭建基于OAuth2的开放平台、为APP端、应用服务提供统一接口管控平台、为第三方合作伙伴的业务对接提供授信可控的技术对接平台 + 分布式架构,Nacos(服务注册+配置中心)统一管理 + 统一API网关(参数验签、身份认证、接口鉴权、接口调试、接口限流、接口状态、接口外网访问) + 统一oauth2认证协议 + 统一采用webflux+r2dbc+spring-cloud-function进行代码开发 官网预览 管理后台 管理后台-专业版 + 后台默认账号:admin 123456 + 后台测试账号:test 123456 + SpringBootAdmin账号:sba 123456 #### 介绍 此项目是结合webflux+R2dbc+springcloudfunction实现权限/网关/动态路由等 #### 软件架构 1. [Spring Boot 2.3.x](https://spring.io/projects/spring-boot) springboot 2. [Spring WebFlux](https://spring.io/) 响应式Web支持 3. [R2DBC](https://r2dbc.io/) 响应式关系型数据库驱动 4. [Project Reactor](https://projectreactor.io/) 响应式编程框架 4. [Netty](https://netty.io/) ,[Vert.x](https://vertx.io/) 高性能网络编程框架 5. [ElasticSearch](https://www.elastic.co/cn/products/enterprise-search) 全文检索,日志,时序数据存储 6. [mysql](https://www.mysql.org) 业务功能数据管理 7. [spring cloud](https://spring.io/projects/spring-cloud) 微服务框架 8. [spring cloud alibaba](https://spring.io/projects/spring-cloud-alibaba) 阿里巴巴全家桶 9. [spring cloud function](https://spring.io/projects/spring-cloud-function) 函数-Function,消费者-Consumer和供应商-Supplier类型的@Beans的包装器,使用RabbitMQ,Kafka等将它们作为HTTP端点和/或消息流监听器/发布者公开给外部世界 #### 代码结构 ```lua reddog-reactor ├── docs -- 文档及脚本 ├── sql -- sql文件 ├── readme -- 介绍 ├── 权限架构图 -- 权限架构图 ├── data -- 增量数据 ├── reactor-common -- 公共组件 ├── common-pom -- 依赖包 公用依赖包 ├── common-api -- api文件 实体 feign接口 ├── common-core -- 核心公共组件(完善中...) ├── common-gateway -- 网关配置项(完善中...) ├── common-r2dbc -- r2dbc基本配置类 ├── common-server -- 服务工具类 ├── common-starter -- 启动配置项(完善中...) ├── common-tenant -- 多租户(完善中...) ├── reactor-gateway -- 网关服务 ├── reactor-open -- 开放平台jdk ├── reactor_platform -- 平台服务 ├── reactor-bpm -- 工作流[port = 9000](推荐) ├── reactor-job -- 分布式定时任务[port = 8888](功能完善) ├── reactor-msg -- 消息服务接口 ├── ............................ -- 后期多重服务 ├── reactor-sba -- 监控[port=4344] ├── reactor-service -- 基础服务 ├── datagrap -- 代码生成、大屏数据、数据中台 ├── report -- 报表 ├── system -- 系统服务[port=8233] ├── ........ -- 后续补充新的服务 ├── reactor-simple -- 小弟研究r2dbc的demo ├── reactor-website -- 文档中心 ``` #### 快速开始 本项目基于springCloud打造的分布式快速开发框架. 需要了解SpringCloud,SpringBoot,SpringSecurity,springCloudAlibaba,springCloudFunction,springWebflux,R2dbc,分布式原理 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-platform并执行sql脚本 + doc/sql ...... 3. 启动nacos服务发现&配置中心,新建公共配置文件 + 访问 http://localhost:8848/nacos/index.html + 导入配置 /docs/config/DEFAULT_GROUP.zip(nacos1.0.3以上版本支持一键导入) + 新建配置文件 (nacos1.0.3以下版本) + 项目目录/docs/config/db.properties > db.properties + 项目目录/docs/config/rabbitmq.properties > rabbitmq.properties + 项目目录/docs/config/redis.properties > redis.properties + 项目目录/docs/config/common.properties > common.properties 如图: ![img.png](img.png) 4. 修改主pom.xml 初始化maven项目 ``` bush maven clean install ``` 本地启动,默认不用修改 ``` xml 127.0.0.1:8848 127.0.0.1:8848 ``` 5. 本地启动(按顺序启动) 1. [必需]BaseApplication(平台基础服务) 2. [必需]UaaAdminApplication(平台用户认证服务器) 3. [必需]GatewaySpringApplication(推荐) ``` 访问 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} ``` [comment]: <> ( + 项目启动) [comment]: <> ( ```bush) [comment]: <> ( ./docs/bin/startup.sh {start|stop|restart|status} open-cloud-base-server.jar) [comment]: <> ( ./docs/bin/startup.sh {start|stop|restart|status} open-cloud-uaa-admin-server.jar) [comment]: <> ( ./docs/bin/startup.sh {start|stop|restart|status} open-cloud-api-spring-server.jar) [comment]: <> ( ```) 8. docker部署 + 配置DOCKER私服仓库 + maven多环境打包,替换变量.并构建docker镜像 [comment]: <> ( ```bush) [comment]: <> ( clean install package -P {dev|test|online} dockerfile:build ) [comment]: <> ( ``` ) #### 集成开发 集成开发 #### OAuth2使用说明 OAuth2 #### 模块提交说明 项目完善中 如有问题 或者有更好的代码思路 可提交到分支isue分支 #### 技术交流群 QQ群[**1021093351**]二维码扫描入群 项目处于初期开源 正在不断完善中