文档首页/ 微服务引擎 CSE/ 快速入门/ Spring Cloud应用通过Spring Cloud Huawei SDK接入ServiceComb引擎
更新时间:2024-09-26 GMT+08:00

Spring Cloud应用通过Spring Cloud Huawei SDK接入ServiceComb引擎

本章节通过一个demo演示如何将一个Spring Cloud应用通过Spring Cloud Huawei SDK接入ServiceComb引擎,指导您快速上手使用ServiceComb引擎。

  1. 准备工作

    您需要完成注册华为云并实名认证、为账户充值、为用户添加操作权限、创建VPC和子网、获取demo包及本地编译构建打包环境准备工作。

  2. 创建ServiceComb引擎

    在创建引擎时,您可以根据实际业务需要,选择合适的引擎规格、可用区和网络等。

  3. Spring Cloud接入ServiceComb引擎

    本指导将演示使用一个provider服务和一个consumer服务接入ServiceComb引擎。

准备工作

  1. 注册华为云并实名认证。
    如果您已有一个华为账户,请跳到下一个任务。如果您还没有华为账户,请参考以下步骤创建。
    1. 打开华为云官网,单击“注册”。
    2. 根据提示信息完成注册,详细操作请参见如何注册华为云管理控制台的用户?

      注册成功后,系统会自动跳转至您的个人信息界面。

    3. 参考实名认证完成个人或企业账号实名认证。

      仅在购买或使用位于中国大陆区域的资源时,需要实名认证。

  2. 为账户充值。

    您需要确保账户有足够金额。

  3. 为用户添加操作权限。

    用户在创建依赖资源和ServiceComb引擎前,需要具备相应的操作权限。添加用户权限的操作,请参考创建用户并授权使用微服务引擎

  4. 创建VPC和子网。

    ServiceComb引擎运行于虚拟私有云(VPC)中,并需要绑定具体的子网。创建ServiceComb引擎前,需保证有可用的虚拟私有云和子网。创建虚拟私有云和子网的方法,请参考创建虚拟私有云和子网。如果已有可用的VPC和子网,不需要再次创建。

  5. 本地编译构建打包机器环境已安装了Java JDK、Maven,并且能够访问Maven中央库。
  6. 下载github的demo源码到本地并解压。

    该demo的配置文件中已经完成了集成Spring Cloud Huawei的配置操作,若您需了解详细配置信息,请参考Spring Cloud接入ServiceComb引擎

创建ServiceComb引擎

  1. 进入购买ServiceComb引擎专享版页面。
  2. 参考下表设置参数,参数前面带*号的是必须设置的参数。创建ServiceComb引擎所需参数的详细介绍请参考创建ServiceComb引擎

    表1 创建ServiceComb引擎参数

    参数

    说明

    *计费模式

    选择计费方式,目前支持“按需计费”。按需计费是一种后付费模式,即先使用再付费,按照ServiceComb引擎实际使用时长计费

    *企业项目

    选择ServiceComb引擎所在的企业项目。企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。此处默认选择“default”。

    *选择实例数

    选择引擎规格,此处选择微服务实例数为100。

    *引擎类型

    引擎类型为集群,其为集群模式部署,主机级容灾。

    *ServiceComb引擎名称

    输入ServiceComb引擎的名称,名称以字母开头,由字母、数字和-组成,且不能以-结尾,长度为3~64个字符。例如:cse-test。

    *可用区

    可选择1个或3个可用区。此处选择1个可用区,可提供主机级别容灾能力。

    *网络

    选择已创建的虚拟私有云及子网,可在下拉框中搜索和选择合适的虚拟私有云和子网。

    描述

    单击,输入引擎描述信息,例如:体验快速创建ServiceComb引擎。

    *安全认证

    开启了“安全认证”的ServiceComb引擎专享版,通过微服务引擎控制台提供了基于RBAC(Role-Based Access Control,基于角色的访问控制)的系统管理功能。此处选择“关闭安全认证”,关闭安全认证功能后,可以在实例创建完成后再设置开启安全认证。

  3. 单击“立即购买”,进入引擎信息确认界面。
  4. 单击“提交”,等待引擎创建完毕。

    • 微服务引擎创建完成,大约需要31分钟。
    • 微服务引擎创建成功后,“状态”为“可用”。查看微服务引擎状态,请参考查看ServiceComb引擎信息
    • 如果微服务引擎创建失败,可在操作日志页面上查看失败原因并处理后可进行以下操作:
      • 可在“微服务引擎信息”区域,单击“重试”重新创建。
      • 如果重试失败,可删除创建失败的微服务引擎,删除微服务引擎,请参考删除ServiceComb引擎专享版

Spring Cloud接入ServiceComb引擎

  1. 登录微服务引擎控制台
  2. 在左侧导航栏选择“ServiceComb引擎专享版”。
  3. 单击创建ServiceComb引擎中创建的ServiceComb引擎。
  4. 获取ServiceComb引擎的注册中心地址和配置中心地址。

    “服务发现 & 配置”区域,查看获取引擎服务注册发现地址和配置中心地址。

  5. 修改demo中的注册中心地址和配置中心地址。

    1. 在下载到本地的demo源码目录下,分别找到“\basic\consumer\src\main\resources\bootstrap.yml”“\basic\provider\src\main\resources\bootstrap.yml”文件。
    2. 添加ServiceComb引擎的注册中心地址和配置中心地址到项目配置文件中(以“\basic\consumer\src\main\resources\bootstrap.yml”为例)。
      spring:
        application:
          name: basic-consumer
        cloud:
          servicecomb:
            discovery:
              enabled: true
              watch: false
              # 注册中心地址
              address: https://192.168.0.210:30100,https://192.168.0.246:30100
              appName: basic-application
              serviceName: ${spring.application.name}
              version: 0.0.1
              healthCheckInterval: 30
            config:
              # 配置中心地址
              serverType: kie
              serverAddr: https://192.168.0.210:30110,https://192.168.0.246:30110

      使用ServiceStage部署的场景,服务注册中心地址和配置中心地址在部署过程中会自动注入,无需额外手工添加。

  6. 打包demo源码成jar包。

    1. 在demo源码根目录下,打开cmd命令,执行mvn clean package命令,对项目进行打包编译。
    2. 编译成功后,生成如表2所示的两个Jar包。
      表2 软件包列表

      软件包所在目录

      软件包名称

      说明

      basic\consumer\target

      basic-consumer-1.0-SNAPSHOT.jar

      服务消费者

      basic\provider\target

      basic-provider-1.0-SNAPSHOT.jar

      服务生产者

  7. 部署应用。

    使用ServiceStage部署微服务provider和consumer。
    1. 6生成的JAR包上传至OBS。
    2. 参考快速创建Kubernetes集群创建CCE集群,并同ServiceComb引擎实例属于同一VPC。
    3. 参考创建环境在引擎实例所在VPC下创建ServiceStage环境,并对ServiceComb引擎和CCE资源进行纳管。
    4. 参考创建并部署组件部署provider和consumer微服务。

  8. 确认部署结果。

    1. 可选:在微服务引擎控制台页面,在左侧导航栏选择“ServiceComb引擎专享版”,单击创建ServiceComb引擎中创建的ServiceComb引擎。
    2. 选择微服务目录 > 微服务列表,查看微服务basic-consumer和basic-provider的实例数量。
      • 若实例数量值不为0,则表示已经成功接入ServiceComb引擎。
      • 若实例数量为0,或者找不到basic-consumer和basic-provider服务名,则表示微服务应用接入ServiceComb引擎失败。