2019-09-10 18:14:21
浏览数 (1)
1. Cloud-Platform部署学习
1.1. 介绍
- Cloud-Platform是国内首个基于Spring Cloud微服务化开发平台,核心技术采用Spring Boot2以及Spring Cloud Gateway相关核心组件,前端采用vue-element-admin组件。具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关API管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。
1.2. 架构
1.3. 架构摘要
1.3.1. 服务鉴权
- 通过JWT的方式来加强服务之间调度的权限验证,保证内部服务的安全性。
1.3.2. 监控
- 利用Spring Boot Admin 来监控各个独立Service的运行状态;利用Hystrix Dashboard来实时查看接口的运行状态和调用频率等。
1.3.3. 负载均衡
- 将服务保留的rest进行代理和网关控制,除了平常经常使用的node.js、nginx外,Spring Cloud系列的zuul和ribbon,可以帮我们进行正常的网关管控和负载均衡。其中扩展和借鉴国外项目的扩展基于JWT的Zuul限流插件,方面进行限流。
1.3.4. 服务注册与调用
- 基于Consul来实现的服务注册与调用,在Spring Cloud中使用Feign, 我们可以做到使用HTTP请求远程服务时能与调用本地方法一样的编码体验,开发者完全感知不到这是远程方法,更感知不到这是个HTTP请求。
1.3.5. 熔断机制
- 因为采取了服务的分布,为了避免服务之间的调用“雪崩”,采用了Hystrix的作为熔断器,避免了服务之间的“雪崩”。
1.4. consul
1.4.1. 启动
- consul agent -dev
- 参考 https://blog.csdn.net/forezp/article/details/70188595
1.4.2. 效果
1.5. 后端
1.5.1. 配置
- 先启动rabbitmq、redis、mysql以及consul注册中心
- 运行数据库脚本:依次运行数据库: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(实际不止这点,需要配置地址的xml上都配上自己的就行)
- 按顺序运行main类:CenterBootstrap(ace-center)、AuthBootstrap(ace-auth-server)、AdminBootstrap(ace-admin)、GatewayServerBootstrap(ace-gateway-v2)
1.6. 前端
1.6.1. 安装
- 从 https://gitee.com/minull/AG-Admin-v2.0 下载前端代码
- 下载相应版本的nodejs,我在本地window测试,所以下载 node-v6.11.2-x86.msi 该版本的nodejs,这里如果下载最新版的,是运行不起来的,一开始我也没注意,被坑到了
- 我直接给出下载地址了 https://nodejs.org/dist/v6.11.2/
代码语言:javascript
复制# 2. 安装依赖
npm install
# 本地开发 开启服务
npm run dev
- 浏览器访问 http://localhost:9527
1.6.2. 发布
代码语言:javascript
复制# 发布测试环境 带webpack ananalyzer
npm run build:sit-preview
# 构建生成环境
npm run build:prod
1.6.3. 部署nginx配置参考
代码语言:javascript
复制location / {
# 指向我们打包后上传的前端文件
root /opt/nginx/dist;
index index.html;
}
location /jwt/ {
# 转发请求到后端服务网关
proxy_pass http://127.0.0.1:8765/jwt/;
}
location /api/ {
proxy_pass http://127.0.0.1:8765/api/;
}
1.6.4. 效果
1.7. 总结
- 这个框架,看介绍还是很高大上的,一开始打算撘一撘这个项目是冲着研究gateway网关去的,搭完发现还是不理解它哪里用到了gateway
- 新手不建议用它作为基础搭建cloud平台