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平台

Cloud-Platform部署学习的更多相关文章

  1. 部署在SAP Cloud Platform CloudFoundry环境的应用如何消费SAP Leonardo机器学习API

    Jerry的前一篇文章 如何在Web应用里消费SAP Leonardo的机器学习API 里介绍的例子是Neo测试环境的Web应用消费sandbox版本的机器学习API,url如下: https://s ...

  2. Spring Cloud微服务学习笔记

    Spring Cloud微服务学习笔记 SOA->Dubbo 微服务架构->Spring Cloud提供了一个一站式的微服务解决方案 第一部分 微服务架构 1 互联网应用架构发展 那些迫使 ...

  3. 使用Gardener在Google Cloud Platform上创建Kubernetes集群

    Gardener是一个开源项目,github地址: https://github.com/gardener/gardener/ 使用Gardener,我们可以在几分钟之内在GCP, AWS, Azur ...

  4. 如何在SAP Cloud Platform上进行第一个integration flow开发

    登录SAP Cloud Platform integration tenant,点击Edit图标: 创建一个新的Content package: 保存content package后,点击artifa ...

  5. 如何创建SAP Cloud Platform Process Integration runtime服务

    登录SAP Cloud Platform cockpit,进入subaccount的Service marketplace界面,选择process integration runtime: 点击ins ...

  6. 多IDC数据分布--MySQL多机房部署 - 学习笔记 - 51CTO技术博客

    多IDC数据分布--MySQL多机房部署 - 学习笔记 - 51CTO技术博客 多IDC数据分布--MySQL多机房部署

  7. 使用Google Cloud Platform构建机器学习项目-宠物识别

    宠物识别我们使用到了tensorflow object-detection API  (https://github.com/tensorflow/models/tree/master/researc ...

  8. Google Cloud Platform 续

    Google Cloud Platform 创建新实例 地区:australia-southeast1-a 机器类型:1个vCPU n1-standard-1 系统:Ubuntu 16.04 LTS ...

  9. Hyperledger Fabric on SAP Cloud Platform

    今天的文章来自Wen Aviva, 坐Jerry面对面的程序媛. Jerry在之前的公众号文章<在SAP UI中使用纯JavaScript显示产品主数据的3D模型视图>已经介绍过Aviva ...

随机推荐

  1. py文件的运行

    安装过程及配置 安装过程准备: 下载好Python的安装程序后,开始安装,在进入安装界面后一定确保勾选将Python加入到系统环境变量的路径里.如图所示: 2 如果没有选取,那么按照下面的步骤进行操作 ...

  2. 怎么把微信里的文件发到QQ?

    对于如何将微信里的文件发到QQ这个问题,首先要看是在手机中操作还是在电脑上操作,针对不同的发送方式逐一介绍如下: 一.从手机微信发送文件到QQ 1.在手机微信中找到需要发送的文件打开,点击右上角竖排的 ...

  3. HDU2034

    #include <bits/stdc++.h> using namespace std; int main() { int n,m,val; set<int>::iterat ...

  4. Task与线程池

    尽量使用Task,而不是线程池 因为Task是基于线程的,单不是一一对应的 Task的切换与开销要比线程小很多,也更容易管理 http://www.cnblogs.com/yunfeifei/p/41 ...

  5. Jenkins构建maven项目跳过测试用例的命令

    在Jenkins构建项目的时候,有时候执行大量的单元测试用例需要浪费很多时间,又或者测试环境与其他dubbo,zookeeper服务器环境不通执行失败, 为了更快速的构建,可在build选项中使用如下 ...

  6. Jmeter监控服务器-CPU,Memory,Disk,Network性能指标

    本文主要说一下如何通过JMeter插件来监控服务器CPU.内存.磁盘.网络等相关资源. 一.下载 首先进入网址https://jmeter-plugins.org/downloads/old/  下载 ...

  7. 谷歌浏览器运行Flash

    最近有人问我谷歌浏览器的flash总是要点击手动运行才可以使用.看了很多网上很多教程,并没有比较好的解决方案. 自己找了相关资料后,找到了一个比较好的完整的.特此在这边放出来给大家使用. 新建记事本, ...

  8. 2019.03.15王苛震——myls

    /* 1.尝试实现ls命令的功能 加选项-l -a -i -h */ #include <stdio.h> #include <sys/types.h> #include &l ...

  9. PageHelper分页+前台BootStrap_pagination样式/BootStrap_table样式

    一.PagerHelper分页+前台BootStrap_pagination样式: 效果: 1.引入pageHelper插件:2种方式    pageHelper所需jar包:pagehelper-5 ...

  10. 学以致用三十-----pycharm创建django项目忘记添加app

    记忆力有时候真的不是很好.因此有些操作步骤还是记录下来好了. pycharm版本-----2018.2.4 创建django项目 file-----newproject----- 创建的时候,appl ...