Cloud-Platform部署学习

1. Cloud-Platform部署学习

1.1. 介绍

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

1.2. 架构

1.3. 架构摘要

1.3.1. 服务鉴权

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

1.3.2. 监控

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

1.3.3. 负载均衡

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

1.3.4. 服务注册与调用

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

1.3.5. 熔断机制

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

1.4. consul

1.4.1. 启动

  1. consul agent -dev
  2. 参考 https://blog.csdn.net/forezp/article/details/70188595 1.4.2. 效果

1.5. 后端

1.5.1. 配置

  1. 先启动rabbitmq、redis、mysql以及consul注册中心
  2. 运行数据库脚本:依次运行数据库:ace-admin/db/init.sql、ace-auth-server/db/init.sql、ace-trace
  3. 修改配置数据库配置:ace-admin/src/main/resources/application.yml、ace-gate/src/main/resources/application.yml(实际不止这点,需要配置地址的xml上都配上自己的就行)
  4. 按顺序运行main类:CenterBootstrap(ace-center)、AuthBootstrap(ace-auth-server)、AdminBootstrap(ace-admin)、GatewayServerBootstrap(ace-gateway-v2)

1.6. 前端

1.6.1. 安装

  1. https://gitee.com/minull/AG-Admin-v2.0 下载前端代码
  2. 下载相应版本的nodejs,我在本地window测试,所以下载 node-v6.11.2-x86.msi 该版本的nodejs,这里如果下载最新版的,是运行不起来的,一开始我也没注意,被坑到了
  3. 我直接给出下载地址了 https://nodejs.org/dist/v6.11.2/
# 2. 安装依赖
npm install
# 本地开发 开启服务
npm run dev
  1. 浏览器访问 http://localhost:9527 1.6.2. 发布
# 发布测试环境 带webpack ananalyzer
npm run build:sit-preview

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

1.6.3. 部署nginx配置参考

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. 总结

  1. 这个框架,看介绍还是很高大上的,一开始打算撘一撘这个项目是冲着研究gateway网关去的,搭完发现还是不理解它哪里用到了gateway
  2. 新手不建议用它作为基础搭建cloud平台

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏码匠的流水账

聊聊dubbo的NettyServer

dubbo-2.7.3/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/rem...

6400
来自专栏luozhiyun的源码解析

7.源码分析---SOFARPC是如何实现连接管理与心跳?

我在服务端引用那篇文章里面分析到,服务端在引用的时候会去获取服务端可用的服务,并进行心跳,维护一个可用的集合。

9520
来自专栏码匠的流水账

聊聊dubbo的NettyServer

dubbo-2.7.3/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/rem...

10520
来自专栏程序猿杂货铺

【Netty】客户端和服务端实现双向通信

时间,犹如白驹过隙,一眨眼,国庆假期已经过去了四天了,日子总是像指间流过的细沙,在不经意间悄然滑落。所以,你该开始学Netty了

30430
来自专栏Python绿色通道

分享靠写代码赚钱的一些门路

如今,通过自己的代码去赚钱变得越来越简单,不过对很多人来说依然还是很难,因为他们不知道有哪些门路。

37430
来自专栏web秀

VS Code中6个令人惊叹的CSS扩展

Visual Studio Code最令人印象深刻的部分之一是可定制性,尤其是通过扩展。随着大量开发人员创建扩展,功能实际上是无穷无尽的!

15410
来自专栏IT码农

从配置文件的角度去了解Yii2

Yii2是一个奇特的框架,其牺牲了现在盛行的解耦设计,用一个高度耦合的结构提供给开发者一个方便的几类抽象,Application,Module,Componen...

10110
来自专栏Java3y

【极简版】SpringBoot+SpringData JPA 管理系统

在上一篇中已经讲解了如何从零搭建一个SpringBoot+SpringData JPA的环境,测试接口的时候也成功获取得到数据了。

14230
来自专栏IT码农

Yii2 源码分析 - 入口文件执行流程

以 yii 2.0.14 高级版的 frontend 为例,从 frontend/web/index.php 开始

9330
来自专栏IT码农

Yii2访问出错错误信息:`Warning: require(/vendor/autoload.php): failed to open stream: No such file or dire

错误信息:`Warning: require(/http/www.mywakavLee.cn/bootstrap/../vendor/autoload.php)...

16820

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励