Coder Social home page Coder Social logo

soxueren / spring-cloud-ag-admin Goto Github PK

View Code? Open in Web Editor NEW

This project forked from wxiaoqi/spring-cloud-platform

0.0 2.0 0.0 2.93 MB

AG-Admin是国内首个基于Spring Cloud微服务化开发平台,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关API管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。核心技术采用Eureka、Fegin、Ribbon、Zuul、Hystrix、JWT Token、Mybatis等主要框架和中间件,前端采用vue-element-admin组件。

Home Page: http://geek_qi.oschina.io/ag-admin

License: Apache License 2.0

PLpgSQL 6.49% Java 26.27% Shell 0.34% JavaScript 52.95% CSS 13.24% HTML 0.71%

spring-cloud-ag-admin's Introduction

AG-Admin

AG-Admin是国内首个基于Spring Cloud服务开发平台,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关API管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。核心技术采用Eureka、Fegin、Ribbon、Zuul、Hystrix、JWT Token、Mybatis等主要框架和中间件,前端采用vue-element-admin组件。

推荐🌧

考虑许多码友对于Spring Cloud的前后端分离和微服务实战有较多的疑问。老A专门录制课程如下,便于对AG-Admin更深入的了解

方式一(推荐):联系老A,QQ:463540703,直接转账,网盘分享

方式二(发票报销):AG-Admin线上课程地址,可以联系CSDN开发票

http://edu.csdn.net/course/detail/5840

QQ群号:169824183

AG线上最新体验地址,感谢【千铭云】赞助的服务器。

http://43.248.136.159:9999/

老A专属优惠链接,优惠卷:2B3158

img


更新日志

2017年11月17日 v2.2-SNARSHOT

  • ace-admin集成ace-cache
  • ace-auth集成rabbitmq

模块说明

image.png

架构详解

服务鉴权

老A独有的通过JWT的方式来加强服务之间调度的权限验证,保证内部服务的安全性。

监控

利用Spring Boot Admin 来监控各个独立Service的运行状态;利用Hystrix Dashboard来实时查看接口的运行状态和调用频率等。

负载均衡

将服务保留的rest进行代理和网关控制,除了平常经常使用的node.js、nginx外,Spring Cloud系列的zuul和rebbion,可以帮我们进行正常的网关管控和负载均衡。其中扩展和借鉴国外项目的扩展基于JWT的Zuul限流插件,方面进行限流。

服务注册与调用

基于Eureka来实现的服务注册与调用,在Spring Cloud中使用Feign, 我们可以做到使用HTTP请求远程服务时能与调用本地方法一样的编码体验,开发者完全感知不到这是远程方法,更感知不到这是个HTTP请求。

熔断机制

因为采取了服务的分布,为了避免服务之间的调用“雪崩”,采用了Hystrix的作为熔断器,避免了服务之间的“雪崩”。


启动指南

须知

因为AG-Admin是一个前后端分离的项目,所以后端的服务必须先启动,在后端服务启动完成后,再启动前端的工程。

最多人问:代码有漏

下载完后端代码后,记得先安装lombok插件,否则你的IDE会报代码缺失。

后端工程启动

环境须知

  • mysql一个,redis一个,rabbitmq一个
  • jdk1.8
  • IDE插件一个,lombok插件,具体百度即可

运行步骤

  • 运行数据库脚本:依次运行数据库:ace-admin/db/init.sql、ace-auth-server/db/init.sql
  • 修改配置数据库配置:ace-admin/src/main/resources/application.yml、ace-gate/src/main/resources/application.yml
  • 顺序运行main类:CenterBootstrap(ace-center)、ConfigServerBootstrap(ace-config)、AuthBootstrap(ace-auth-server)、AdminBootstrap(ace-admin)、GateBootstrap(ace-gate)

项目结构

├─ace-security
│  │  
│  ├─ace-admin----------------管理端服务层
│  │ 
│  ├─ace-auth-----------------鉴权中心
│  │ 
│  ├─ace-gate-----------------网关负载中心
│  │ 
│  ├─ace-center---------------服务注册中心
│  │   
│  ├─ace-monitor--------------统一监控中心
│  │
│  ├─ace-config---------------统一配置中心
│  │
│  ├─ace-api------------------公共服务接口包
│  │
│  ├─ace-demo-----------------示例服务代码
│  │
│  └─ace-sidebar--------------调用第三方语言
│

前端工程启动[AG-Admin-UI]地址

环境搭建

node 版本:v6.11.2
npm 版本:3.10.10

开发

    
    # 安装依赖
    npm install
    //or # 建议不要用cnpm  安装有各种诡异的bug 可以通过如下操作解决npm速度慢的问题
    npm install --registry=https://registry.npm.taobao.org

    # 本地开发 开启服务
    npm run dev

浏览器访问 http://localhost:9527

发布

    # 发布测试环境 带webpack ananalyzer
    npm run build:sit-preview

    # 构建生成环境
    npm run build:prod

目录结构

├── build                      // 构建相关  
├── config                     // 配置相关
├── src                        // 源代码
│   ├── api                    // 所有请求
│   ├── assets                 // 主题 字体等静态资源
│   ├── components             // 全局公用组件
│   ├── directive              // 全局指令
│   ├── filtres                // 全局filter
│   ├── mock                   // mock数据
│   ├── router                 // 路由
│   ├── store                  // 全局store管理
│   ├── styles                 // 全局样式
│   ├── utils                  // 全局公用方法
│   ├── view                   // view
│   ├── App.vue                // 入口页面
│   └── main.js                // 入口 加载组件 初始化等
├── static                     // 第三方不打包资源
│   └── Tinymce                // 富文本
├── .babelrc                   // babel-loader 配置
├── eslintrc.js                // eslint 配置项
├── .gitignore                 // git 忽略项
├── favicon.ico                // favicon图标
├── index.html                 // html模板
└── package.json               // package.json

功能简介

img

功能截图

基本功能

img

img

img

img

img

img

img

License

Apache License Version 2.0

郑重声明

虽然本产品是开源产品,但未经本人允许擅自申请专利,将公开追究法律责任。

我们的用户

imgimage.png NLDCF.png

相信有了你们的支持,AG开源会越来越好,项目也会越来越完善。

通过微信或支付宝,扫描下面的二维码,即可捐赠,如下图所示:

微信 支付宝
微信 支付宝

spring-cloud-ag-admin's People

Contributors

wxiaoqi avatar

Watchers

 avatar  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.