zoukankan      html  css  js  c++  java
  • Cloud-Platform部署学习

    1. Cloud-Platform部署学习

    1.1. 介绍

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

    1.2. 架构

    1240

    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平台
  • 相关阅读:
    keepalvied虚拟ip安装设置
    mysql 主从,主主,主主复制时的主键冲突解决
    mysql备份,知识点
    mysql自定义函数语法
    sql之left join、right join、inner join的区别
    mysql 日志文件mysql-bin文件清除方法,和mysql-bin相关文件的配置
    mysql日志总结
    并查集 专题总结
    最短路径 专题总结
    Dancing Links 专题总结
  • 原文地址:https://www.cnblogs.com/sky-chen/p/10299190.html
Copyright © 2011-2022 走看看