• 华为云业务部署实践


    华为云业务部署实践

    实践一

    在华为云平台进行微服务项目的部署,项目来源于开源产品“pig”,项目模块清晰,架构完备。

    模块说明

    pig-ui  -- https://gitee.com/log4j/pig-ui
    
    pig
    ├── pig-auth -- 授权服务提供[3000]
    └── pig-common -- 系统公共模块
         ├── pig-common-bom -- 全局依赖管理控制
         ├── pig-common-core -- 公共工具类核心包
         ├── pig-common-datasource -- 动态数据源包
         ├── pig-common-job -- xxl-job 封装
         ├── pig-common-log -- 日志服务
         ├── pig-common-mybatis -- mybatis 扩展封装
         ├── pig-common-seata -- 分布式事务
         ├── pig-common-security -- 安全工具类
         ├── pig-common-swagger -- 接口文档
         └── pig-common-feign -- feign 扩展封装
    ├── pig-register -- Nacos Server[8848]
    ├── pig-gateway -- Spring Cloud Gateway网关[9999]
    └── pig-upms -- 通用用户权限管理模块
         └── pig-upms-api -- 通用用户权限管理系统公共api模块
         └── pig-upms-biz -- 通用用户权限管理系统业务处理模块[4000]
    └── pig-visual
         └── pig-monitor -- 服务监控 [5001]
         ├── pig-codegen -- 图形化代码生成 [5002]
         ├── pig-sentinel-dashboard -- 流量高可用 [5003]
         └── pig-xxl-job-admin -- 分布式定时任务管理台 [5004]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    项目核心依赖

    依赖版本
    Spring Boot2.7.2
    Spring Cloud2021.0.3
    Spring Cloud Alibaba2021.0.1.0
    Spring Authorization Server0.3.1
    Mybatis Plus3.5.2
    hutool5.8.4
    Avue2.6.18

    涉及到华为云产品

    产品
    代码托管 CodeHub
    云数据库 RDS
    云数据库 GaussDB(for Redis)
    弹性云服务器 ECS
    弹性公网IP EIP

    1.代码导入

    在CodeHub上面上传代码,方便后续部署。代码库的相关操作和gitlab基本一致。
    pig 为后端项目
    pig-ui 为前端项目

    2.开通RDS

    进入购买数据库实例页面,选择相应的配置。云数据库支持主备模式、磁盘加密等高级模式。我们这里只是测试使用,选择单机即可。

    开通完成,需导入项目初始化SQL脚本。

    3.开通Redis

    进入购买数据库实例页面,选择相应的配置。

    4.开通ECS实例

    进入购买弹性云服务器页面,选择相应配置开通即可,这里我们要部署多个模块,内存需要大于10g。

    开通完ECS需要绑定IP,不然外网没发访问,弹性公网IP云平台也有相应产品开通即可。

    5.项目部署

    在上面的一顿操作后,我们已经成功开通项目关联的组件了,下面开始进行部署操作。

    部署采用docker镜像方式进行,把微服务相关模块打成镜像,使用docker-compose进行服务编排。

    ECS需要预装Git、docker、docker-compose相关软件。

    • 从CodeHub上面拉取代码并进行打包,结果如下:

    • 使用compose脚本启动服务:

    • 启动完成后先验证nacos服务是否可用并修改相应的配置信息:
      在这里插入图片描述

    • 登录系统
      在这里插入图片描述
      在这里插入图片描述

    实践二

    上面利用了华为云平台ECS进行项目的部署,下面介绍下云容器实例(Cloud Container Instance,CCI)服务提供Serverless Container(无服务器容器)引擎,无需创建和管理服务器集群即可直接运行容器。

    因为项目涉及到的模块较多,我们以nacos部署为例进行介绍,其它服务基本类似大同小异。

    涉及到华为云产品

    产品
    代码托管 CodeHub
    云数据库 RDS
    云数据库 GaussDB(for Redis)
    云容器实例 CCI
    流水线 DevCloud
    弹性公网IP EIP
    容器镜像服务

    基本操作流程:
    创建流水线->拉取指定代码库->打包编译->编译成功->镜像上传->容器拉取镜像启动->对外提供服务

    1.配置流水线

    2.镜像打包完成自动上传至仓库

    3.配置容器实例

    查看日志是否启动完成:

    3.访问服务

    在这里插入图片描述

    至此,在华为云平台上面进行了2种不同方式的项目部署。平台还支持原生k8s、CAE等不同技术的部署方案,总之,平台提供的能力还是很强大和灵活,在一定程度上提高了研发效率。

    平台其它能力,有待继续探索…

    更多pig部署参考地址:https://www.yuque.com/pig4cloud/pig

  • 相关阅读:
    Zotero(3)---使用茉莉花插件提取中文文献信息
    Java 下载地址
    输入延迟切换系统的预测镇定控制
    【后端面经-Java】JVM垃圾回收机制
    计算机毕业设计Java家电仓储管理系统(源码+系统+mysql数据库+lw文档)
    i.MX 6ULL 驱动开发 二:搭建 KGDB 调试 linux 内核和驱动环境
    mssql还原数据库失败
    腾讯云死磕政务云?
    文件包含漏洞
    Spring 源码阅读 13:执行 BeanFactoryPostProcessor 中的处理方法
  • 原文地址:https://blog.csdn.net/lp351539365/article/details/126244198