
# 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. 打开[华为云官网](https://www.huaweicloud.com/)，单击"注册"。
   
   2. 根据提示信息完成注册，详细操作请参见[注册华为账号并开通华为云](https://support.huaweicloud.com/usermanual-account/account_id_001.html)。
      注册成功后，系统会自动跳转至您的个人信息界面。
      
   
   3. 参考[实名认证](https://support.huaweicloud.com/usermanual-account/zh-cn_topic_0071343161.html)完成个人或企业账号实名认证。
     
2. 为账户充值。 您需要确保账户有足够金额。
   - 关于ServiceComb引擎的价格，请参见[微服务引擎价格详情](https://www.huaweicloud.com/pricing.html?tab=detail#/cse)。
   
   - 关于充值，请参见[如何给华为账户充值](https://support.huaweicloud.com/usermanual-billing/bills-topic_30000002.html)。
    
3. 为用户添加操作权限。 用户在创建依赖资源和ServiceComb引擎前，需要具备相应的操作权限。添加用户权限的操作，请参考[创建用户并授权使用微服务引擎](https://support.huaweicloud.com/usermanual-cse/cse_usermanual_0003.html)。
   
4. 创建VPC和子网。 ServiceComb引擎运行于虚拟私有云（VPC）中，并需要绑定具体的子网。创建ServiceComb引擎前，需保证有可用的虚拟私有云和子网。创建虚拟私有云和子网的方法，请参考[创建虚拟私有云和子网](https://support.huaweicloud.com/usermanual-vpc/zh-cn_topic_0013935842.html)。如果已有可用的VPC和子网，不需要再次创建。
   
5. 本地编译构建打包机器环境已安装了Java JDK、Maven，并且能够访问Maven中央库。
6. 下载GitHub的[demo源码](https://github.com/huaweicloud/spring-cloud-huawei-samples/tree/master/basic)到本地并解压。
   ![](https://support.huaweicloud.com/qs-cse/public_sys-resources/note_3.0-zh-cn.png)
   该demo的配置文件中已经完成了集成Spring Cloud Huawei的配置操作，若您需了解详细配置信息，请参考[Spring Cloud接入ServiceComb引擎](https://support.huaweicloud.com/devg-cse/cse_04_0009.html)。
   
 
 #### 创建ServiceComb引擎
1. 进入[购买ServiceComb引擎专享版](https://console.huaweicloud.com/cse2/?locale=zh-cn#/csm/engine/buy)页面。
2. 参考下表设置参数，参数前面带\*号的是必须设置的参数。创建ServiceComb引擎所需参数的详细介绍请参考[创建ServiceComb引擎](https://support.huaweicloud.com/usermanual-cse/cse_usermanual_0005.html)。
   
   表1创建ServiceComb引擎参数 
   | 参数                | 说明                                                                                                                                     |
   |:---|:---|
   | \*计费模式            | 选择计费方式，此处选择"按需计费"。按需计费是一种后付费模式，即先使用再付费，按照ServiceComb引擎实际使用时长计费。                                                                        |
   | \*企业项目            | 选择ServiceComb引擎所在的企业项目。企业项目是一种云资源管理方式，企业项目管理服务提供统一的云资源按项目管理，以及项目内的资源管理、成员管理。此处默认选择"default"。                                           |
   | \*选择实例数           | 选择引擎规格，此处选择微服务实例数为100。                                                                                                                 |
   | \*引擎类型            | 引擎类型为集群，其为集群模式部署，主机级容灾。                                                                                                                |
   | \*ServiceComb引擎名称 | 输入ServiceComb引擎的名称，名称以字母开头，由字母、数字和-组成，且不能以-结尾，长度为3\~24个字符。例如：cse-test。                                                                 |
   | \*可用区             | 可选择1个或3个可用区。此处选择1个可用区，可提供主机级别容灾能力。                                                                                                     |
   | \*网络              | 选择已创建的虚拟私有云及子网，可在下拉框中搜索和选择合适的虚拟私有云和子网。                                                                                                 |
   | 描述                | 单击![](https://support.huaweicloud.com/qs-cse/zh-cn_image_0000001989953889.png)，输入引擎描述信息，例如：体验快速创建ServiceComb引擎。                        |
   | \*安全认证            | 开启了"安全认证"的ServiceComb引擎专享版，通过微服务引擎控制台提供了基于RBAC（Role-Based Access Control，基于角色的访问控制）的系统管理功能。此处选择"关闭安全认证"，关闭安全认证功能后，可以在实例创建完成后再设置开启安全认证。 |
      
   
   
3. 单击"立即购买"，进入引擎信息确认界面。
4. 单击"提交"，等待引擎创建完毕。 
   ![](https://support.huaweicloud.com/qs-cse/public_sys-resources/note_3.0-zh-cn.png)
   - 微服务引擎创建完成，大约需要31分钟。
   
   - 微服务引擎创建成功后，"状态"为"可用"。查看微服务引擎状态，请参考[查看ServiceComb引擎信息](https://support.huaweicloud.com/usermanual-cse/cse_usermanual_0007.html)。
   
   - 如果微服务引擎创建失败，可在操作日志页面上查看失败原因并处理后可进行以下操作：
     - 可在"微服务引擎信息"区域，单击"重试"重新创建。
     
     - 如果重试失败，可删除创建失败的微服务引擎，删除微服务引擎，请参考[删除ServiceComb引擎专享版](https://support.huaweicloud.com/usermanual-cse/cse_usermanual_0017.html)。
      
    
   
   
 
 #### Spring Cloud接入ServiceComb引擎
1. 登录[微服务引擎控制台](https://console.huaweicloud.com/cse2/)。
2. 在左侧导航栏选择"ServiceComb引擎专享版"。
3. 单击[创建ServiceComb引擎]中创建的ServiceComb引擎。
4. 获取ServiceComb引擎的注册中心地址和配置中心地址。 
   在"服务发现 \& 配置"区域，查看获取引擎服务注册发现地址和配置中心地址。
   ![](https://support.huaweicloud.com/qs-cse/zh-cn_image_0000001953782906.png)
   
   
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
      ```
      ![](https://support.huaweicloud.com/qs-cse/public_sys-resources/note_3.0-zh-cn.png)
      使用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. 参考[购买Standard/Turbo集群](https://support.huaweicloud.com/usermanual-cce/cce_10_0028.html)创建CCE集群，并同ServiceComb引擎实例属于同一VPC。
   
   3. 参考[创建环境](https://support.huaweicloud.com/usermanual-servicestage/servicestage_03_0008.html)在引擎实例所在VPC下创建ServiceStage环境，并对ServiceComb引擎和CCE资源进行纳管。
   
   4. 参考[创建并部署组件](https://support.huaweicloud.com/usermanual-servicestage/servicestage_03_0031.html)部署provider和consumer微服务。
    
   
   
8. 确认部署结果。 
   1. **可选：** 在微服务引擎控制台页面，在左侧导航栏选择"ServiceComb引擎专享版"，单击[创建ServiceComb引擎]中创建的ServiceComb引擎。
   
   2. 选择"微服务目录 \> 微服务列表"，查看微服务basic-consumer和basic-provider的实例数量。
      - 若实例数量值不为0，则表示已经成功接入ServiceComb引擎。
      
      - 若实例数量为0，或者找不到basic-consumer和basic-provider服务名，则表示微服务应用接入ServiceComb引擎失败。
       
   
   
   
   
 
