# open-cloud **Repository Path**: lurui04/open-cloud ## Basic Information - **Project Name**: open-cloud - **Description**: 基于springCloud,oauth2,nacos服务发现和配置管理.统一API网关,聚合开发文档,身份认证,接口鉴权,限流等。搭建基于API的生态体系,微服务架构的企业级开放平台,利于业务扩容。并提供基于layui开发的平台运维系统,界面美观,易操作。项目结构清晰,代码合理封装.开箱即用。 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 778 - **Created**: 2020-04-01 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #### 搭建基于OAuth2的开放云平台 1. 搭建基于API的生态体系 2. 利用开放平台,搭建基于计费的API数据平台 3. 为APP端提供统一接口管控平台 4. 为第三方合作伙伴的业务对接提供授信可控的技术对接平台 #### 技术架构 全新升级spring boot2.0+ 稳定版 springCloud Finchley.RELEASE springBoot 2.0.4.RELEASE redis rabbitmq mysql alibaba [nacos](https://nacos.io/en-us/) 服务发现和配置中心 [layui](https://www.layui.com/) 前端UI框架 #### 项目结构 * docs(文档说明) 1. bin 执行脚本 2. generator 代码生成器 3. sql sql文件 * opencloud-common(公共包) 1. 提供微服务相关依赖包 2. 封装微服务必要配置类并自动注入 3. 工具类、全局异常解析、自定义错误码(支持国际化)、自定义属性配置、 * opencloud-gateway(API网关) 1. opencloud-gateway-client API网关-接口 2. opencloud-gateway-producer API网关-资源服务器 (port = 8888) 1. 提供接口调用统一入口:路由代理、API限流、API访问限制、API数字验签、API开发调试文档(生产环境不生效) 2. 提供基于oauth2密码模式登录,返回access_token 3. 提供内部数字签名接口 3. 自定义刷新网关端点(支持一键刷新路由、限流等配置) [刷新路由/actuator/refresh-gateway](POST http://localhost:8888/actuator/refresh-gateway ) [灰度刷新/actuator/refresh-gateway?destination=application:* ](POST http://localhost:8888/actuator/refresh-gateway?destination=application:* ) * opencloud-upms(权限管理) 1. opencloud-oauth-client 认证管理-接口 2. opencloud-oauth-producer 认证管理-认证授权器和资源服务器 (port = 8211) 1. 身份认证、授权,颁发有效令牌 2. SSO单点认证登录,租户登录信息 3. 客户端、令牌、授权管理 3. opencloud-rbac-client 权限管理-接口 4. opencloud-rbac-producer 权限管理-资源服务器 (port = 8233) 1. 平台租户资料和登录账号管理 2. 角色管理、授权 3. 菜单资源、操作资源、API资源管理 4. 应用管理、授权 * opencloud-zipkin(微服务链路追踪) * opencloud-msg(消息管理) 开发中... 1. opencloud-msg-client 消息服务-接口 2. opencloud-msg-producer 消息服务-资源服务器 (port = 8266) 1. 邮件消息 2. 短信消息 3. 推送消息 * opencloud-acms(APP内容管理) 开发中... 1. opencloud-acms-client APP内容管理-接口 2. opencloud-acms-producer APP内容管理-资源服务器 (port = 8255) 1. 版本升级 2. 闪屏管理 3. banner管理 3. 广告管理 4. 等... #### 项目配置 支持多环境(dev、test、online):修改主项目pom.xml中的profiles节点 修改关键配置项: 1. 配置中心地址:127.0.0.1:8848 2. 服务发现地址:127.0.0.1:8848 3. 认证授权地址:http://localhost:8211 4. 网关服务地址:http://localhost:8888 #### 项目部署 打包不同环境:mvn clean install package -P {dev|test|online} 启动脚本:./start.sh {start|stop|restart|status} {service}.jar 启动顺序: 1. 安装并启动nacos服务发现 2. opencloud-rbac-producer 3. opencloud-oauth-producer 4. opencloud-gateway-producer 5. opencloud-admin 访问接口文档:[http://localhost:8888/](http://localhost:8888/) 访问运维后台:[http://localhost:8801/](http://localhost:8801/)