1 Star 0 Fork 27

sykes / open-platform

forked from uhonliu / open-platform 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

微服务开放平台 3.1.0

简介

搭建基于OAuth2的开放平台、为APP端、应用服务提供统一接口管控平台、为第三方合作伙伴的业务对接提供授信可控的技术对接平台

  • 分布式架构,Nacos(服务注册+配置中心)统一管理、Feign(RPC服务调用)
  • 统一API网关(参数验签、身份认证、接口鉴权、接口调试、接口限流、接口状态、接口外网访问)
  • 统一Oauth2认证协议

管理后台

  • 后台默认账号:admin 123456
  • 后台测试账号:test 123456
  • SpringBootAdmin账号:sba 123456

源码

使用手册

使用手册

技术支持

技术支持

  • 学习交流(千人群):760809808 open-cloud交流群

功能介绍

功能介绍

代码结构

open-platform
├── docs                               -- 文档及脚本
    ├── bin                            -- 执行脚本
    ├── config                         -- 公共配置,用于导入到nacos配置中心
    ├── sql                            -- sql文件
      ├── data                         -- 增量数据
├── docker                             -- Docker部署脚本
    ├── elk                            -- ELK部署脚本
    ├── influxdb                       -- InfluxDB部署脚本
    ├── monitor                        -- Grafana部署脚本
├── components                         -- 公共组件
    ├── common-core         -- 提供微服务相关依赖包、工具类、全局异常解析等
    ├── common-starter      -- SpringBoot自动配置扫描
    ├── java-sdk            -- 开放平台api集成SDK(完善中...)
    ├── tenant-starter      -- 多租户模块,多数据源自动切换(完善中...)
├── migration                          -- 多环境数据迁移-菜单、操作、路由、异构API
├── platform                           -- 平台服务
    ├── api-spring-server   -- API开放网关-基于SpringCloudGateway[port = 8888](推荐)
    ├── api-zuul-server     -- API开放网关-基于Zuul[port = 8888](功能完善)
    ├── base-client         -- 平台基础服务接口
    ├── base-server         -- 平台基础服务器[port=8233]
    ├── generator-server    -- 在线代码生成服务器[port = 5555]
    ├── sba-server          -- SpringBootAdmin监控服务[port = 8849]
    ├── sentinel-dashboard  -- Sentinel控制台服务[port = 8080]
    ├── uaa-admin-server    -- 平台用户认证服务器[port = 8211]
    ├── uaa-portal-server   -- 门户开发者认证服务器[port = 7211]
├── services                           -- 通用微服务
    ├── bpm-client          -- 工作流接口
    ├── bpm-server          -- 工作流服务器[port = 8255]
    ├── comment-server      -- 评价服务[port = 8311]
    ├── dingtalk-server     -- 钉钉服务[port = 8222]
    ├── file-server         -- 文件存储服务[port = 8225]
    ├── msg-client          -- 消息服务接口
    ├── msg-server          -- 消息服务器[port = 8266]
    ├── org-server          -- 组织架构服务[port = 8280]
    ├── payment-server      -- 支付服务[port = 8288]
    ├── sso-ui-demo         -- SSO单点登录演示demo[port = 2222]
    ├── task-client         -- 任务调度接口
    ├── task-server         -- 调度服务器[port = 8501]
    ├── tenant-demo         -- 多租户演示demo[port = 6878]
    ├── user-server         -- 用户服务[port = 8277]

快速开始

本项目基于SpringCloud打造的分布式快速开发框架. 需要了解SpringCloud,SpringBoot,SpringSecurity,分布式原理。

  1. 准备环境

    • Java1.8 (v1.8.0_131+)
    • Nacos服务注册和配置中心 (v1.0.0+) 阿里巴巴Nacos
    • Sentinel流量控制、熔断降级、系统负载保护 (v1.6.0+) 阿里巴巴Sentinel
    • Redis (v3.2.00+)
    • RabbitMq (v3.7+)(需安装rabbitmq_delayed_message_exchange插件 下载地址
    • Mysql (v5.5.28+)
    • InfluxDB (v1.7.9+)
    • ELK (v7.4.1+)
    • Maven (v3+)
    • Nodejs (v10.14.2+)
  2. 执行创建数据库open_platform并执行sql脚本

    • docs/sql/oauth2.sql
    • docs/sql/base.sql
    • docs/sql/gateway.sql
    • docs/sql/msg.sql
    • docs/sql/quartz.sql && scheduler.sql
    • docs/sql/org.sql
    • docs/sql/data/update.sql

    执行创建数据库open_platform_user并执行sql脚本

    • docs/sql/user.sql

    执行创建数据库open_platform_payment并执行sql脚本

    • docs/sql/payment.sql

    执行创建数据库open_platform_comment并执行sql脚本

    • docs/sql/comment.sql
  3. 启动nacos服务发现&配置中心,新建公共配置文件

    • 访问 http://localhost:8848/nacos/index.html
    • 新建配置文件及导入(根据需要导入docs/config下配置文件)
      • docs/config/db.properties > db.properties
      • docs/config/rabbitmq.properties > rabbitmq.properties
      • docs/config/redis.properties > redis.properties
      • docs/config/common.properties > common.properties

    如图: nacos

  4. 修改主pom.xml 初始化maven项目

    maven clean install

    本地启动,默认不用修改

    <!--Nacos配置中心地址-->
    <config.server-addr>127.0.0.1:8848</config.server-addr>
    <!--Nacos配置中心命名空间,用于支持多环境.这里必须使用ID,不能使用名称,默认为空-->
    <config.namespace></config.namespace>
    <!--Nacos服务发现地址-->
    <discovery.server-addr>127.0.0.1:8848</discovery.server-addr>
    <!--Nacos服务发现命名空间,用于支持多环境.这里必须使用ID,不能使用名称,默认为空-->
    <discovery.namespace></discovery.namespace>
  5. 本地启动(按顺序启动)

    1. [必需]BaseApplication(平台基础服务)
    2. [必需]UaaAdminApplication(平台用户认证服务器)
    3. [必需]GatewaySpringApplication(推荐)或GatewayZuulApplication
    访问 http://localhost:8888

    4.[非必需]SpringBootAdmin(监控服务器)(非必需)

    访问 http://localhost:8849
  6. 前端启动

    npm install
    npm run dev

    访问 http://localhost:8080

  7. 项目打包部署

    • maven多环境打包,替换变量
    mvn clean package -P {dev|test|uat|online}
    • 项目启动
    ./docs/bin/startup.sh {start|stop|restart|status} base-server.jar
    ./docs/bin/startup.sh {start|stop|restart|status} uaa-admin-server.jar
    ./docs/bin/startup.sh {start|stop|restart|status} api-spring-server.jar
  8. docker部署

    • 配置DOCKER私服仓库
    • maven多环境打包,替换变量.并构建docker镜像
    mvn clean package -P {dev|test|uat|online} dockerfile:build dockerfile:push
    • 启动docker镜像
    docker run -d -e JAVA_OPTS="-Xms128m -Xmx768m" -p 8233:8233 --name base-server uhonliu/base-server:3.1.0-{dev|test|uat|online}
    docker run -d -e JAVA_OPTS="-Xms128m -Xmx768m" -p 8211:8211 --name uaa-admin-server uhonliu/uaa-admin-server:3.1.0-{dev|test|uat|online}
    docker run -d -e JAVA_OPTS="-Xms128m -Xmx768m" -p 8888:8888 --name api-spring-server uhonliu/api-spring-server:3.1.0-{dev|test|uat|online}

参考项目及文档

The MIT License (MIT) Copyright (c) 2019-2020 futustar@qq.com Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

搭建基于OAuth2的开放平台、为APP端、应用服务提供统一接口管控平台、为第三方合作伙伴的业务对接提供授信可控的技术对接平台 展开 收起
Java
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/pogasus/open-platform.git
git@gitee.com:pogasus/open-platform.git
pogasus
open-platform
open-platform
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891