AG-Admin是国内首个基于Spring Cloud
微服务
化开发平台
,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关API管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。核心技术采用Spring Boot2
以及Spring Cloud (Finchley.M8)
相关核心组件,前端采用vue-element-admin
组件。
开源用户登记,宣传用:点击打开
更新日志,查看点击打开
体验地址:http://118.126.104.133:81/
- 提供
开箱即用的服务Cli
,减少开发人员的项目搭建成本,只需关注业务的开发实现,企业项目的开发利器; - 减少人员技术学习成本(会
spring+myabtis+mvc
即可),由专人管控平台,非常适合单体项目转型
、语言转型
的项目团队; - 提供完善的
架构部署指南
,从单机部署到集群落地,减少部署弯路,让服务群更加稳定; - 提供各种
开发中间件
示例教程,包括:消息总线、增删改查脚手架和生成器; - 提供
分布式事务
解决方案和中间件,解决服务拆分后的事物控制问题; - 提供
服务运维
基础部署,监控服务的状态、服务的链路调用。
第二批名额限制:20名,优惠价格:1880,享终身授权特权
,示例证书:点击打开,,私聊老A:463540703。
功能清单 | 开源版 | 企业版 |
---|---|---|
用户管理 | √ | √ |
角色管理 | √ | √ |
菜单管理 | √ | √ |
权限管理 | √ | √ |
操作日志 | √ | √ |
服务运维监控 | √ | √ |
服务管理模块 | √ | √ |
分布式事务 | × | √ |
数据字典 | × | √ |
新版UI | × | √ |
完整开发文档 | × | √ |
快速工程Cli | × | √ |
跨服务数据聚合 | × | √ |
服务动态路由 | × | √ |
部门岗位 | × | √ |
多租户模块 | × | √ |
数据权限 | × | √ |
分级授权 | x | √ |
定时任务 | × | √ |
功能清单 | 开源版 | 企业版 |
---|---|---|
附件服务 | Done |
Doing |
搜索服务 | Done |
Doing |
工作流服务 | x | Design |
消息、第三方、支付等等……
- 网关模块全面升级
Spring Cloud Gateway
,性能提升、保留Zuul网关(端口迁移8766)
- 全面升级
Spring Boot 2.0.0.Release
&Spring Cloud Finchley.M8
- 调整目录结构,移除ace-demo模块
- zipkin链路模块升级
- monitor监控模块优化
- 增加Lucense全文搜索模块
- 增加OSS附件服务模块
- 增加服务管理模块
- 增加运维监控模块
老A独有的通过JWT
的方式来加强服务之间调度的权限验证,保证内部服务的安全性。
利用Spring Boot Admin 来监控各个独立Service的运行状态;利用Hystrix Dashboard来实时查看接口的运行状态和调用频率等。
将服务保留的rest进行代理和网关控制,除了平常经常使用的node.js、nginx外,Spring Cloud系列的zuul和ribbon,可以帮我们进行正常的网关管控和负载均衡。其中扩展和借鉴国外项目的扩展基于JWT的Zuul限流插件
,方面进行限流。
基于Eureka来实现的服务注册与调用,在Spring Cloud中使用Feign, 我们可以做到使用HTTP请求远程服务时能与调用本地方法一样的编码体验,开发者完全感知不到这是远程方法,更感知不到这是个HTTP请求。
因为采取了服务的分布,为了避免服务之间的调用“雪崩”,采用了Hystrix
的作为熔断器,避免了服务之间的“雪崩”。
考虑许多码友对于Spring Cloud的前后端分离和微服务实战有较多的疑问。老A专门录制课程如下,便于对AG-Admin更深入的了解
因为AG-Admin是一个前后端分离
的项目,所以后端的服务必须先启动,在后端服务启动完成后,再启动前端的工程。
下载完后端代码后,记得先安装lombok插件
,否则你的IDE会报代码缺失。
- mysql一个,redis一个,rabbitmq一个
- jdk1.8
- IDE插件一个,
lombok插件
,具体百度即可
- 运行数据库脚本:依次运行数据库:ace-admin/db/init.sql、ace-auth-server/db/init.sql、ace-trace
- 修改配置数据库配置:ace-admin/src/main/resources/application.yml、ace-gate/src/main/resources/application.yml
- 按
顺序
运行main类:CenterBootstrap(ace-center)、AuthBootstrap(ace-auth-server)、AdminBootstrap(ace-admin)、GatewayServerBootstrap(ace-gateway-v2)
├─ace-security
│ │
│ ├─ace-modules--------------公共服务模块(基础系统、搜索、OSS)
│ │
│ ├─ace-auth-----------------鉴权中心
│ │
│ ├─ace-gate-----------------网关负载中心
│ │
│ ├─ace-common---------------通用脚手架
│ │
│ ├─ace-center---------------服务注册中心
│ │
│ ├─ace-control--------------运维中心(监控、链路)
│ │
│ └─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
Apache License Version 2.0