Spring Cloud应用通过Spring Cloud SDK接入Nacos引擎
本章节通过一个demo进行全流程的微服务应用接入Nacos引擎操作演示,帮助您快速了解如何接入Nacos引擎。
- 准备工作
您需要完成注册华为云并实名认证、为账户充值、为用户添加操作权限、创建VPC和子网、获取demo包及准备好本地编译构建打包环境准备工作。
- 创建注册配置中心
在创建引擎时,您可以根据实际业务需要,选择合适的引擎规格、可用区和网络等。
- Spring Cloud应用接入Nacos引擎
本指导将使用一个provider服务和一个consumer服务接入Nacos引擎。
准备工作
- 注册华为云并实名认证。
如果您已有一个华为账户,请跳到下一个任务。如果您还没有华为账户,请参考以下步骤创建。
- 打开华为云官网,单击“注册”。
- 根据提示信息完成注册,详细操作请参见如何注册华为云管理控制台的用户?。
注册成功后,系统会自动跳转至您的个人信息界面。
- 参考实名认证完成个人或企业账号实名认证。
仅在购买或使用位于中国大陆区域的资源时,需要实名认证。
- 为账户充值。
- 为用户添加操作权限。
用户在创建依赖资源和Nacos引擎前,需要具备相应的操作权限。添加用户权限的操作,请参考创建用户并授权使用微服务引擎。
创建注册配置中心需要保证用户具有CSE FullAccess、DNS FullAccess权限。
- 创建VPC和子网。
Nacos引擎运行于虚拟私有云(VPC)中,并需要绑定具体的子网。创建Nacos引擎前,需保证有可用的虚拟私有云和子网。创建虚拟私有云和子网的方法,请参考创建虚拟私有云和子网。如果已有可用的VPC和子网,不需要再次创建。
- 本地编译构建打包机器环境已安装了Java JDK、Maven,并且能够访问Maven中央库。
- 下载github的demo源码到本地并解压。
创建注册配置中心
- 进入购买注册配置中心页面。
- 左侧导航栏选择“注册配置中心”。
- 在注册配置中心页面,单击“购买注册配置中心”。
- 参考下表设置参数,参数前面带*号的是必须设置的参数。创建注册配置中心所需参数的详细介绍请参考创建注册配置中心。
表1 创建注册配置中心参数 参数
说明
*计费模式
选择计费方式,目前支持“按需计费”。按需计费是一种后付费模式,即先使用再付费,按照注册配置中心实际使用时长计费。
*企业项目
选择注册配置中心Nacos所在的企业项目。企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。此处默认选择“default”。
*引擎名称
输入Nacos引擎的名称,名称以字母开头,由字母、数字和-组成,且不能以-结尾,长度为3~64个字符。如输入nacos-test。
*注册配置中心类型
支持的注册配置中心类型为“Nacos”。
说明:注册配置中心集群的节点会尽可能均分到不同的可用区中,单节点故障不影响对外业务功能。注册配置中心不支持AZ级故障的容灾,可提供主机级别容灾能力。
*选择实例数
选择需要购买的容量规格。此处选择实例数为500,其容量单元为10。
版本
只能创建最新版本。
*网络
选择已创建的虚拟私有云及子网,可在下拉框中搜索和选择合适的虚拟私有云和子网。
虚拟私有云可以为您的引擎构建隔离的、用户自主配置和管理的虚拟网络环境。
- 单击“立即购买”,注册配置中心开始创建,当“运行状态”为“可用”时,注册配置中心创建完成。
Spring Cloud应用接入Nacos引擎
- 登录微服务引擎控制台。
- 获取Nacos引擎注册发现地址。
- 修改demo中的配置中心地址和服务注册中心地址和微服务名。
- 在“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”文件,配置Naocs配置中心:
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配置参考。
- 在“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注册发现。
- 在下载到本地的demo源码目录中找到“nacos-examples-master\nacos-spring-cloud-example\nacos-spring-cloud-discovery-example\nacos-spring-cloud-consumer-example\src\main\resources\application.properties”文件,配置consumer服务:
- 在“bootstrap.properties”中配置Nacos配置中心。
- 打包demo源码成jar包。
- 在demo源码根目录下,打开cmd命令,执行mvn clean package命令,对项目进行打包编译。
- 编译成功后,生成如表2所示的两个Jar包。
- 部署Spring Cloud应用。
将微服务Provider和Consumer部署至Nacos引擎所在VPC的ECS节点。
- 请参考购买并登录Linux弹性云服务器在引擎实例所属VPC下创建一台ECS节点并登录。
- 安装JRE,为服务提供运行环境。
- 将4生成JAR包上传至ECS节点。
- 执行命令:java -jar {对应jar包},运行生成的JAR包。
- 确认部署结果。
- 可选:在微服务引擎控制台页面,在左侧导航栏选择“注册配置中心”,单击创建注册配置中心中创建的Nacos引擎。
- 选择“服务管理”,查看微服务service-consumer和service-provider的实例数量。
- 若实例数量值不为0,则表示已经成功接入Nacos引擎。
- 若实例数量为0,或者找不到service-consumer和service-provider服务名,则表示微服务应用接入Nacos引擎失败。