
# Spring Cloud应用通过Spring Cloud SDK接入Nacos引擎
本章节通过一个demo进行全流程的微服务应用接入Nacos引擎操作演示，帮助您快速了解如何接入Nacos引擎。
1. [准备工作]
   您需要完成注册华为云并实名认证、为账户充值、为用户添加操作权限、创建VPC和子网、获取demo包及准备好本地编译构建打包环境准备工作。
   
2. [创建注册配置中心]
   在创建引擎时，您可以根据实际业务需要，选择合适的引擎规格、可用区和网络等。
   
3. [Spring Cloud应用接入Nacos引擎]
   本指导将使用一个provider服务和一个consumer服务接入Nacos引擎。
   
 #### 准备工作
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. 为账户充值。 您需要确保账户有足够金额。
   - 关于注册配置中心的价格，请参见[微服务引擎价格详情](https://www.huaweicloud.com/pricing.html?tab=detail#/cse)。
   
   - 关于充值，请参见[如何给华为账户充值](https://support.huaweicloud.com/usermanual-billing/bills-topic_30000002.html)。
    
3. 为用户添加操作权限。 用户在创建依赖资源和Nacos引擎前，需要具备相应的操作权限。添加用户权限的操作，请参考[创建用户并授权使用微服务引擎](https://support.huaweicloud.com/usermanual-cse/cse_usermanual_0003.html)。
   ![](https://support.huaweicloud.com/qs-cse/public_sys-resources/note_3.0-zh-cn.png)
   创建注册配置中心需要保证用户具有CSE FullAccess、DNS FullAccess权限。
   
4. 创建VPC和子网。 Nacos引擎运行于虚拟私有云（VPC）中，并需要绑定具体的子网。创建Nacos引擎前，需保证有可用的虚拟私有云和子网。创建虚拟私有云和子网的方法，请参考[创建虚拟私有云和子网](https://support.huaweicloud.com/usermanual-vpc/zh-cn_topic_0013935842.html)。如果已有可用的VPC和子网，不需要再次创建。
   
5. 本地编译构建打包机器环境已安装了Java JDK、Maven，并且能够访问Maven中央库。
6. 下载GitHub的[demo源码](https://github.com/nacos-group/nacos-examples/tree/master/nacos-spring-cloud-example)到本地并解压。
 
 #### 创建注册配置中心
1. 进入[购买注册配置中心](https://console.huaweicloud.com/cse2/?locale=zh-cn#/csm/enginesBuy?engineType=Nacos)页面。
2. 参考下表设置参数，参数前面带\*号的是必须设置的参数。创建注册配置中心所需参数的详细介绍请参考[创建Nacos引擎](https://support.huaweicloud.com/usermanual-cse/cse_03_0001.html)。
   
   表1创建注册配置中心参数 
   | 参数         | 说明                                                                                                                                   |
   |:---|:---|
   | \*计费模式     | 选择计费方式，此处选择"按需计费"。按需计费是一种后付费模式，即先使用再付费，按照注册配置中心实际使用时长计费。                                                                             |
   | \*企业项目     | 选择注册配置中心Nacos所在的企业项目。企业项目是一种云资源管理方式，企业项目管理服务提供统一的云资源按项目管理，以及项目内的资源管理、成员管理。此处默认选择"default"。                                           |
   | \*引擎名称     | 输入Nacos引擎的名称，名称以字母开头，由字母、数字和-组成，且不能以-结尾，长度为3\~24个字符。如输入nacos-test。                                                                   |
   | \*注册配置中心类型 | 支持的注册配置中心类型为"Nacos"。                                                                                                                 |
   | \*选择实例数    | 选择需要购买的容量规格。此处选择实例数为500，其容量单元为10。                                                                                                    |
   | 版本         | 只能创建最新版本。                                                                                                                            |
   | \*网络       | 选择已创建的虚拟私有云及子网，可在下拉框中搜索和选择合适的虚拟私有云和子网。 虚拟私有云可以为您的引擎构建隔离的、用户自主配置和管理的虚拟网络环境。 |
      
   
   
3. 单击"立即购买"，注册配置中心开始创建，当"运行状态"为"可用"时，注册配置中心创建完成。
 
 #### Spring Cloud应用接入Nacos引擎
1. 登录[微服务引擎控制台](https://console.huaweicloud.com/cse2/)。
2. 获取Nacos引擎注册发现地址。 
   1. 在左侧导航栏选择"注册配置中心"，单击创建的Nacos引擎实例。
   
   2. 在"基础信息"页面的"连接信息"区域，获取注册发现地址。 ![](https://support.huaweicloud.com/qs-cse/zh-cn_image_0000001953783006.png)
      
   
   
   
   
3. 修改demo中的配置中心地址和服务注册中心地址和微服务名。 
   1. 在"bootstrap.properties"中配置Nacos配置中心。
      在下载到本地的demo源码目录中找到"nacos-examples-master\\nacos-spring-cloud-example\\nacos-spring-cloud-discovery-example\\nacos-spring-cloud-consumer-example\\src\\main\\resources"添加"bootstrap.properties"文件，配置Nacos配置中心：
      ```
      spring.cloud.nacos.config.server-addr=XXX.nacos.cse.com:8848 //Nacos的配置中心地址
      spring.cloud.nacos.config.prefix=example  //配置文件名前缀
      spring.cloud.nacos.config.file-extension=properties  //配置文件名后缀
      spring.cloud.nacos.config.group=XXX  //配置文件所属分组，不填默认DEFAULT_GROUP 
      spring.cloud.nacos.config.namespace=XXX  //配置文件所属命名空间ID，不填默认public
      ```
      更多配置详情，请参考[Nacos配置参考](https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-config)。
      
   
   2. 在"application.properties"中配置Nacos的服务注册发现地址和微服务名。
      - 在下载到本地的demo源码目录中找到"nacos-examples-master\\nacos-spring-cloud-example\\nacos-spring-cloud-discovery-example\\nacos-spring-cloud-consumer-example\\src\\main\\resources\\application.properties"文件，配置consumer服务：
        ```
        server.port=8080
        spring.application.name=service-consumer //微服务名
        spring.cloud.nacos.discovery.server-addr= XXX.nacos.cse.com:8848 //Nacos的服务注册发现地址 
        spring.cloud.nacos.discovery.group=XXX //微服务所属分组，不填则默认DEFAULT_GROUP
        spring.cloud.nacos.discovery.namespace=XXX //微服务所属命名空间ID，不填则默认public
        spring.cloud.nacos.discovery.cluster-name=XXX //微服务所属集群名称，不填则默认DEFAULT
        ```
        
      
      - 在下载到本地的demo源码目录中找到"nacos-examples-master\\nacos-spring-cloud-example\\nacos-spring-cloud-discovery-example\\nacos-spring-cloud-provider-example\\src\\main\\resources\\application.properties"文件，配置provider服务：
        ```
        server.port=8070
        spring.application.name=service-provider //微服务名
        spring.cloud.nacos.discovery.server-addr= XXX.nacos.cse.com:8848 //Nacos的服务注册发现地址
        spring.cloud.nacos.discovery.group=XXX //微服务所属分组，不填则默认DEFAULT_GROUP
        spring.cloud.nacos.discovery.namespace=XXX //微服务所属命名空间ID，不填则默认public
        spring.cloud.nacos.discovery.cluster-name=XXX //微服务所属集群名称，不填则默认DEFAULT
        ```
        
      
      
      更多配置详情，请参考[Nacos注册发现](https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-discovery)。
      
   
   
   
   
4. 打包demo源码成jar包。
   
   1. 在demo源码根目录下，打开cmd命令，执行**mvn clean package**命令，对项目进行打包编译。
   
   2. 编译成功后，生成如[表2]所示的两个Jar包。
       表2软件包列表 
      | 软件包所在目录                                       | 软件包名称                                                  | 说明    |
      |:---|:---|:---|
      | \\nacos-spring-cloud-consumer-example\\target | nacos-spring-cloud-consumer-example-0.2.0-SNAPSHOT.jar | 服务消费者 |
      | \\nacos-spring-cloud-provider-example\\target | nacos-spring-cloud-provider-example-0.2.0-SNAPSHOT.jar | 服务生产者 |
         
      
   
   
   
   
5. 部署Spring Cloud应用。 
   将微服务Provider和Consumer部署至Nacos引擎所在VPC的ECS节点。
   1. 请参考[购买并登录Linux弹性云服务器](https://support.huaweicloud.com/qs-ecs/ecs_01_0103.html)在引擎实例所属VPC下创建一台ECS节点并登录。
   
   2. 安装JRE，为服务提供运行环境。
   
   3. 将[4]生成JAR包上传至ECS节点。
   
   4. 执行命令：**java -jar** **{对应jar包}**，运行生成的JAR包。
    
   
   
6. 确认部署结果。 
   1. **可选：** 在微服务引擎控制台页面，在左侧导航栏选择"注册配置中心"，单击[创建注册配置中心]中创建的Nacos引擎。
   
   2. 选择"服务管理"，查看微服务service-consumer和service-provider的实例数量。
      - 若实例数量值不为0，则表示已经成功接入Nacos引擎。
      
      - 若实例数量为0，或者找不到service-consumer和service-provider服务名，则表示微服务应用接入Nacos引擎失败。
       
   
   
   
   
 
