Giter Site home page Giter Site logo

nogps / pro-cloud Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pro-cloud/pro-cloud

0.0 0.0 0.0 1.27 MB

pro-cloud是一个SpringCloud alibaba微服务架构springboot2.x+mybatisplus基于oauth2.0认证,采用Nacos注册和配置中心,集成流量卫兵Sentinel的分布式架构。解决常见的分布式问题, redis/zookeeper分布式锁,分布式事务,sso单点登录问题等

License: GNU Affero General Public License v3.0

Java 89.16% CSS 7.36% FreeMarker 2.45% HTML 1.04%

pro-cloud's Introduction

Pro-Cloud

以下是Pro-Cloud架构简介

介绍(如果喜欢的话,请给个star)

Pro-Cloud 是一个Security作为安全框架,采用前后端分离的模式. 基于OAuth2 的RBAC权限管理微服务系统. Pro-Cloud后端采用springcloud alibaba架构,集成Sentinel从流量控制、熔断降级、系统负载等多个维度保护服务的稳定性。 注册中心、配置中心选型Nacos,为工程瘦身的同时加强各模块之间的联动。使用OAuth2,实现了多终端认证系统,可控制子系统的token权限互相隔离。 使用SkyWalking链路最终技术,方便了解应用拓扑和慢服务监测等情况,Spring Boot Admin作为监控中心,它为actuator端点提供了良好的交互界面,并提供了额外的特性. 前端基于layui开发,降低学习成本,快速上手,

项目地址

gitee项目地址链接
github项目地址链接

相关工程

后台管理前端工程layui(pro-layui):码云地址
后台管理前端工程vue-element-admin(pro-ui 待支持):码云地址

文档

详细请参考: pro-cloud技术文档

软件架构

前台采用 vue.js 为核心框架; 后台基于 Spring Cloud alibaba、Spring Security Oauth 2.0 开发企业级认证与授权,提供常见服务监控、链路追踪、日志分析、缓存管理、任务调度等实现, nacos + Spring Cloud Oauth2 + Spring Cloud gateway + Feign + mybatisplus等,各种组件注解开发,让代码简洁,通俗易通,以提高效率

Pro-Cloud
├── cloud-admin -- 系统基础模块
│   ├── cloud-admin-common  -- auth客户端
│   ├── cloud-admin-api   -- admin暴露的feign接口
│   └── cloud-admin-service -- admin模块的实现
├── cloud-auth  -- auth服务端 统一登录中心(支持单点登录和三方登录)
├─cloud-common   -- 系统公共模块
│  ├─cloud-common-bom   -- 版本控制
│  ├─cloud-common-cache  -- 缓存工具类+redis 分布式锁
│  ├─cloud-common-controller   -- 全局controller操作工具类
│  ├─cloud-common-data  -- 对数据库操作工具类
│  ├─cloud-common-entity  -- 公共实体工具类
│  ├─cloud-common-job   -- 定时任务工具类
│  ├─cloud-common-mq    -- mq工具类
│  ├─cloud-common-oauth  -- oauth授权工具类
│  ├─cloud-common-oss    -- oss文件上传工具类
│  ├─cloud-common-security  -- 客户端安全工具类
│  ├─cloud-common-swagger -- swagger工具类
│  ├─cloud-common-util   -- 基础工具类
│  ├─cloud-common-websocket  -- websocket工具类
│  └─cloud-common-zk   -- zk分布式锁工具类
├─cloud-gateway   -- springcloud gateway 网关 
├─cloud-generator   -- 代码生成
├─cloud-message      -- 发送邮件短信模块
│  ├─cloud-message-api
│  ├─cloud-message-common
│  └─cloud-message-service
├─cloud-monitor  -- 监控模块
├─cloud-oss  -- oss文件上传模块
│  ├─cloud-oss-api
│  ├─cloud-oss-common
│  └─cloud-oss-service
├─cloud-search  -- es收搜模块
├─cloud-sso-demo   -- 单点登录案例
├─cloud-transaction   -- 分布式事务
├─cloud-websocket   -- websocket案例
├─cloud-xxl-job   -- xxl-job案例
└── docs    -- pro-cloud文档
版本规划 解决问题
v0.5 微服务架构的搭建,基础数据,用户,角色,部门,微服务文件上传支持,在线监控等
v0.6 定时任务处理xxl-job,分布式事物的解决,代码在线生成器
v0.8 vue-element-admin的集成和文档的完善
v1.0 三方登录的集成, elk日志收集文档完善

安装教程

  1. 安装mysql redis idea工具
  2. 导入代码
  3. 使用skywalking 链路追踪

使用说明

  1. /auth/oauth/token 获取token
  2. 先启动auth 统一登录中心,然后启动admin模块,统一管理后台
  3. /code 获取验证码
  4. 生成代码接口示例: generator/code?tableName=sys_user&moduleName=admin&comments=用户表
  5. 继承授权中心模块需要实现ProUserDetailsService接口(不实现只会走默认方法),如果定制发邮件需要重构SmsCodeSender接口
  6. 继承data模块需要实现SystemService。获取当前用户id(不实现只会走默认方法)

参与贡献

  1. Mybatis-Plus
  2. Spring Cloud Oauth2
  3. Nacos
  4. hutool
  5. pig

欢迎加群

加入QQ群

输入图片说明

Pro-Cloud建设

  1. 官方地址 www.eduvipx.cn 文档地址http://www.eduvipx.cn:8000/ 官方网站正在建设中…… 可以先查看文档 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明

pro-cloud's People

Contributors

jxaijm94 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.