云服务器内容精选

  • 部署Dubbo应用 打包Sermant-examples。 在“Sermant-examples”根目录下,打开cmd命令,执行mvn clean package命令,对项目进行打包编译。编译成功后,获取下表中的两个软件包。 表1 软件包列表 软件包所在目录 软件包名称 说明 Sermant-examples/registry-demo/dubbo-registry-demo/dubbo-registry-consumer/target dubbo-registry-consumer.jar 服务消费者 Sermant-examples/registry-demo/dubbo-registry-demo/dubbo-registry-provider/target dubbo-registry-provider.jar 服务生产者 把dubbo-registry-consumer.jar复制到“Sermant-examples/registry-demo/dubbo-registry-demo/deployment/images/consumer”中。 把dubbo-registry-provider.jar复制到“Sermant-examples/registry-demo/dubbo-registry-demo/deployment/images/provider”中。 制作镜像。 登录已安装kubectl命令且已部署Sermant Injector的CCE集群中的节点。 把“Sermant-examples/registry-demo/dubbo-registry-demo”中的deployment文件夹上传至已登录的CCE集群中的节点上。 请参考使用容器引擎客户端上传镜像制作docker镜像,其中,使用到的Dockerfile请参考“Sermant-examples/registry-demo/dubbo-registry-demo/deployment/images/consumer”与“Sermant-examples/registry-demo/dubbo-registry-demo/deployment/images/provider”中的Dockerfile文件按需修改。 部署dubbo-registry-consumer.yaml与dubbo-registry-provider.yaml。 修改镜像名。 将已上传deployment文件夹到CCE集群中的节点中的“deployment/k8s/dubbo-registry-consumer.yaml”与“deployment/k8s/dubbo-registry-provider.yaml”中的镜像名修改为您所制作的镜像名。 在已上传deployment文件夹到CCE集群中的节点中的“deployment/k8s”目录下,执行如下命令部署dubbo-registry-consumer.yaml与dubbo-registry-provider.yaml: kubectl create -f dubbo-registry-consumer.yaml kubectl create -f dubbo-registry-provider.yaml 若需配置APP名称(默认default)、版本(如a.b.c的格式,其中a、b、c均为数字,默认为1.0.0)请在yaml中增加SERVICE_META_APPLICATION与SERVICE_META_VERSION环境变量进行配置。如下所示: 验证应用接入ServiceComb引擎。 参考查看微服务列表查看应用(服务名为dubbo-registry-consumer与dubbo-registry-provider)是否已接入ServiceComb引擎。
  • 前提条件 已创建CCE集群,创建CCE集群请参考创建CCE集群。 CCE集群版本需要大于等于1.15。 已安装kubectl命令,安装kubectl命令请参考通过kubectl连接集群中相关操作。 已创建ServiceComb引擎实例,详情请参考创建ServiceComb引擎。 CCE集群与ServiceComb引擎处于相同的VPC网络下。 下载Sermant-examples到本地并解压。 本地编译构建打包机器环境已安装了Java JDK、Maven,并且能够访问Maven中央库。 已在CCE集群上部署Sermant Injector且已完成接入ServiceComb引擎的应用部署文件的修改,详情请参考通过模板管理页面部署Sermant Injector将应用接入ServiceComb引擎或者通过Helm客户端部署Sermant Injector将应用接入ServiceComb引擎。
  • 入门实践 本文介绍 CS E常见的使用实践,帮助您更好的使用CSE。 实践 描述 托管Spring Cloud应用 Spring Boot、Spring Cloud广泛应用于构建微服务应用。使用ServiceComb引擎托管Spring Cloud应用,主要目的是使用高可靠的商业中间件替换开源组件,对应用系统进行更好地管理和运维,改造过程应尽可能降低对业务逻辑的影响。 托管Java Chassis应用 Java Chassis是Apache基金会管理的开源微服务开发框架,最早由CSE捐献,目前有上百个开发者为项目做出贡献。 它提供了如下独特的功能: 灵活高性能的RPC实现。Java Chassis基于Open API,给出了不同RPC开发方式的统一描述,让微服务接口管理更加规范,同时保留了灵活的开发者使用习惯。Java Chassis基于Reactive,实现了高效的REST、Highway等通信协议,同时保留了传统Servlet等通信协议的兼容。 丰富的服务治理能力和统一的治理职责链。负载均衡、流量控制、故障隔离等常见的微服务治理能力都可以开箱即用,同时提供了统一的治理职责链,让新的治理功能的开发变得简单。 Spring Cloud应用实现优雅上下线功能 在应用使用过程中,应用的发布、重启、扩缩容操作无法避免,为了保证应用正确上下线、流量不丢失,微服务引擎基于Sermant Agent提供了一套优雅上下线的方案,包括预热、延迟下线等,避免了请求超时、连接拒绝、流量丢失等问题的发生。 Spring Cloud应用实现标签路由功能 在微服务存在多个版本、多个实例的情况下,需要管理服务之间的路由,达到无损升级、应用拨测等业务目的。Sermant Agent提供了标签路由的能力,标签路由通过匹配http请求头中的信息,把符合规则的流量转发到对应的标签应用中,从而实现标签路由的功能。 Spring Cloud应用实现全链路灰度 在微服务架构下,有些开发需求会使微服务调用链路上的多个微服务同时发生了改动,通常每个微服务都会有灰度环境或分组来接收灰度流量。此时希望通过进入上游灰度环境的流量,也能进入下游灰度的环境中,确保一个请求始终在灰度环境中传递,即使这个调用链路上有一些微服务没有灰度环境,这些应用请求在下游的时候依然能够回到灰度环境中。通过Sermant Agent提供的全链路灰度能力,可以在不需要修改任何您的业务代码的情况下,能够轻松实现上述能力。
  • 准备工作 注册华为云并实名认证。 如果您已有一个华为账户,请跳到下一个任务。如果您还没有华为账户,请参考以下步骤创建。 打开华为云官网,单击“注册”。 根据提示信息完成注册,详细操作请参见 注册华为账号 并开通华为云。 注册成功后,系统会自动跳转至您的个人信息界面。 参考实名认证完成个人或企业账号实名认证。 为账户充值。 您需要确保账户有足够金额。 关于ServiceComb引擎的价格,请参见微服务引擎价格详情。 关于充值,请参见如何给华为账户充值。 为用户添加操作权限。 用户在创建依赖资源和ServiceComb引擎前,需要具备相应的操作权限。添加用户权限的操作,请参考创建用户并授权使用微服务引擎。 创建VPC和子网。 ServiceComb引擎运行于虚拟私有云(VPC)中,并需要绑定具体的子网。创建ServiceComb引擎前,需保证有可用的虚拟私有云和子网。创建虚拟私有云和子网的方法,请参考创建虚拟私有云和子网。如果已有可用的VPC和子网,不需要再次创建。 本地编译构建打包机器环境已安装了Java JDK、Maven,并且能够访问Maven中央库。 下载github的demo源码到本地并解压。 该demo的配置文件中已经完成了集成Spring Cloud Huawei的配置操作,若您需了解详细配置信息,请参考Spring Cloud接入ServiceComb引擎。
  • 创建ServiceComb引擎 进入购买ServiceComb引擎专享版页面。 参考下表设置参数,参数前面带*号的是必须设置的参数。创建ServiceComb引擎所需参数的详细介绍请参考创建ServiceComb引擎。 表1 创建ServiceComb引擎参数 参数 说明 *计费模式 选择计费方式,此处选择“按需计费”。按需计费是一种后付费模式,即先使用再付费,按照ServiceComb引擎实际使用时长计费。 *企业项目 选择ServiceComb引擎所在的企业项目。企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。此处默认选择“default”。 *选择实例数 选择引擎规格,此处选择微服务实例数为100。 *引擎类型 引擎类型为集群,其为集群模式部署,主机级容灾。 *ServiceComb引擎名称 输入ServiceComb引擎的名称,名称以字母开头,由字母、数字和-组成,且不能以-结尾,长度为3~64个字符。例如:cse-test。 *可用区 可选择1个或3个可用区。此处选择1个可用区,可提供主机级别容灾能力。 *网络 选择已创建的虚拟私有云及子网,可在下拉框中搜索和选择合适的虚拟私有云和子网。 描述 单击,输入引擎描述信息,例如:体验快速创建ServiceComb引擎。 *安全认证 开启了“安全认证”的ServiceComb引擎专享版,通过微服务引擎控制台提供了基于RBAC(Role-Based Access Control,基于角色的访问控制)的系统管理功能。此处选择“关闭安全认证”,关闭安全认证功能后,可以在实例创建完成后再设置开启安全认证。 单击“立即购买”,进入引擎信息确认界面。 单击“提交”,等待引擎创建完毕。 微服务引擎创建完成,大约需要31分钟。 微服务引擎创建成功后,“状态”为“可用”。查看微服务引擎状态,请参考查看ServiceComb引擎信息。 如果微服务引擎创建失败,可在操作日志页面上查看失败原因并处理后可进行以下操作: 可在“微服务引擎信息”区域,单击“重试”重新创建。 如果重试失败,可删除创建失败的微服务引擎,删除微服务引擎,请参考删除ServiceComb引擎专享版。
  • Spring Cloud应用接入Nacos引擎 登录微服务引擎控制台。 获取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源码成jar包。 在demo源码根目录下,打开cmd命令,执行mvn clean package命令,对项目进行打包编译。 编译成功后,生成如表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 服务生产者 部署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引擎失败。
  • 创建注册配置中心 进入购买注册配置中心页面。 左侧导航栏选择“注册配置中心”。 在注册配置中心页面,单击“购买注册配置中心”。 参考下表设置参数,参数前面带*号的是必须设置的参数。创建注册配置中心所需参数的详细介绍请参考创建注册配置中心。 表1 创建注册配置中心参数 参数 说明 *计费模式 选择计费方式,此处选择“按需计费”。按需计费是一种后付费模式,即先使用再付费,按照注册配置中心实际使用时长计费。 *企业项目 选择注册配置中心Nacos所在的企业项目。企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。此处默认选择“default”。 *引擎名称 输入Nacos引擎的名称,名称以字母开头,由字母、数字和-组成,且不能以-结尾,长度为3~64个字符。如输入nacos-test。 *注册配置中心类型 支持的注册配置中心类型为“Nacos”。 说明: 注册配置中心集群的节点会尽可能均分到不同的可用区中,单节点故障不影响对外业务功能。注册配置中心不支持AZ级故障的容灾,可提供主机级别容灾能力。 *选择实例数 选择需要购买的容量规格。此处选择实例数为500,其容量单元为10。 版本 只能创建最新版本。 *网络 选择已创建的虚拟私有云及子网,可在下拉框中搜索和选择合适的虚拟私有云和子网。 虚拟私有云可以为您的引擎构建隔离的、用户自主配置和管理的虚拟网络环境。 单击“立即购买”,注册配置中心开始创建,当“运行状态”为“可用”时,注册配置中心创建完成。
  • 准备工作 注册华为云并实名认证。 如果您已有一个华为账户,请跳到下一个任务。如果您还没有华为账户,请参考以下步骤创建。 打开华为云官网,单击“注册”。 根据提示信息完成注册,详细操作请参见注册华为账号并开通华为云。 注册成功后,系统会自动跳转至您的个人信息界面。 参考实名认证完成个人或企业账号实名认证。 为账户充值。 您需要确保账户有足够金额。 关于注册配置中心的价格,请参见微服务引擎价格详情。 关于充值,请参见如何给华为账户充值。 为用户添加操作权限。 用户在创建依赖资源和Nacos引擎前,需要具备相应的操作权限。添加用户权限的操作,请参考创建用户并授权使用微服务引擎。 创建注册配置中心需要保证用户具有CSE FullAccess、DNS FullAccess权限。 创建VPC和子网。 Nacos引擎运行于虚拟私有云(VPC)中,并需要绑定具体的子网。创建Nacos引擎前,需保证有可用的虚拟私有云和子网。创建虚拟私有云和子网的方法,请参考创建虚拟私有云和子网。如果已有可用的VPC和子网,不需要再次创建。 本地编译构建打包机器环境已安装了Java JDK、Maven,并且能够访问Maven中央库。 下载github的demo源码到本地并解压。
  • 创建应用网关 进入购买应用网关页面。 参考下表设置参数,参数前面带*号的是必须设置的参数。创建应用网关所需参数的详细介绍请参考创建应用网关。 表1 创建应用网关参数 参数 说明 *企业项目 选择应用网关所在的企业项目。企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。此处默认选择“default”。 *引擎名称 输入应用网关名称,名称以字母开头,由字母、数字和-组成,且不能以-结尾,长度为3~64个字符。如:microGateway-test。 产品版本 目前只支持专业版。 *规格 选择实例规格,此处选择“小型”规格。 可用区 您可根据实际情况选择可用区。 版本 只能创建最新版本。 节点数 选择网关的节点数量,节点数量不少于2个。 入口网络 选择已创建的虚拟私有云及子网,可在下拉框中搜索和选择合适的虚拟私有云和子网。此VPC子网用于选择可用的弹性负载均衡,需与后端VPC子网网络互通,具体操作请参考对等连接。 说明: 当应用网关创建完成后,不支持变更虚拟私有云。 *弹性负载均衡 选择已创建的弹性负载均衡。此弹性负载均衡与入口网络属于同一个VPC子网。 说明: 当前仅支持独享型网络型负载均衡器。会使用所选ELB的80、443端口,如果选择的负载均衡器已经占用了部分端口,会创建失败。 ELB被应用网关使用后,为其配置的用于应用网关使用的监听器(即监听器名称中包含应用网关名称)及其关联的后端服务器组和后端服务器均不允许被删除。 后端网络 虚拟私有云可以为您的引擎构建隔离的、用户自主配置和管理的虚拟网络环境。 选择已创建的虚拟私有云及子网,可在下拉框中搜索和选择合适的虚拟私有云和子网。默认同入口网络一致。若同入口网络不一致时,需要打通网络。 说明: 当应用网关创建完成后,不支持变更虚拟私有云。 各VPC网段不冲突。 当前端ELB与后端网络不同VPC时,需开启ELB的跨VPC后端,具体操作请参考跨VPC后端。 单击“立即购买”,网关开始创建,当“运行状态”为“可用”时,应用网关创建完成。 应用网关创建成功后,“运行状态”为“可用”。查看应用网关状态,请参考查看应用网关基本信息。
  • 准备工作 注册华为云并实名认证。 如果您已有一个华为账户,请跳到下一个任务。如果您还没有华为账户,请参考以下步骤创建。 打开华为云官网,单击“注册”。 根据提示信息完成注册,详细操作请参见注册华为账号并开通华为云。 注册成功后,系统会自动跳转至您的个人信息界面。 参考实名认证完成个人或企业账号实名认证。 为账户充值。 您需要确保账户有足够金额。 关于ServiceComb引擎和应用网关的价格,请参见微服务引擎价格详情。 关于充值,请参见如何给华为账户充值。 为用户添加操作权限。 用户在创建依赖资源和应用网关前,需要具备相应的操作权限。添加用户权限的操作,请参考创建用户并授权使用微服务引擎。 创建应用网关需要保证用户具有ELB FullAccess权限。 创建ServiceComb引擎、VPC、子网和独享型负载均衡器。 应用网关、ServiceComb引擎运行于虚拟私有云(VPC)中,并需要绑定具体的子网。创建应用应用网关和ServiceComb引擎前,需保证有可用的虚拟私有云和子网。创建虚拟私有云和子网的方法,请参考创建虚拟私有云和子网。如果已有可用的VPC和子网,不需要再次创建。 ServiceComb引擎同应用网关所在VPC相同。 应用网关可以从ServiceComb添加服务,因此需要有创建好的ServiceComb引擎。创建ServiceComb引擎具体操作请参考创建ServiceComb引擎。 应用网关的运行依赖于独享型负载均衡器,创建应用网关前,需保证已创建了独享型负载均衡器,创建独享型负载均衡器请参考创建独享型负载均衡器。 本地编译构建打包机器环境已安装了Java JDK、Maven,并且能够访问Maven中央库。 下载github的jar包:unit-controller.jar、unit-consumer.jar、unit-provider.jar,参考Spring Cloud应用通过Spring Cloud Huawei SDK接入ServiceComb引擎将应用接入ServiceComb引擎,如下图所示。 图1 应用接入ServiceComb
  • 方案简介 本文介绍一种基于Nacos Sync的注册中心迁移方案,方案适用于在华为云上自建Nacos的用户。 Nacos Sync是一款开源组件,支持注册中心的双向同步与平滑迁移,通过配置同步任务的方式,进行服务的迁移,Nacos Sync能使源集群的服务信息和CSE Nacos的服务信息保持同步,从而实现自建配置注册中心和CSE Nacos之间的平滑迁移,适用于对业务不中断有诉求的用户。 Nacos Sync支持开源Nacos版本为1.4.1至2.1.0。 如图示,用户通过NacosSync组件,将注册订阅在自建Nacos的服务实例,实时同步至CSE的Nacos,实现服务实例的双向注册。
  • 前提条件 自建Nacos迁移,需创建CSE Nacos服务作为目标端,创建CSE Nacos实例,详情请参考创建注册配置中心。 使用Nacos Sync组件进行同步迁移,Nacos Sync组件依赖Mysql进行部署,需要创建Mysql实例,并创建数据库与表,请参考MySQ L实例 创建创建按需计费的MySQL 5.7版本的实例,其规格为通用型2vCPUs|4GB,参考安全组配置修改安全组配置,开放所有端口。 组件部署在ECS中,请参考购买弹性云服务器创建按需计费、X86架构的4vCPUs|8GB规格、公共镜像为EulerOS-EulerOS 2.9 64bit的弹性云服务器,且网络配置需绑定弹性公网IP,使用与MySQL同样的安全组,还需参考入门实践安装JRE 8。 同步任务需要双边网络互通,所以您自建的Nacos、CSE Nacos、Mysql和ECS实例需要处于同一个网段下,能够网络互通,并且组件的安全组配置完成。
  • 代码接入 Provider端: import ( "context" "log" "net" "github.com/cloudwego/kitex-examples/hello/kitex_gen/api" "github.com/cloudwego/kitex-examples/hello/kitex_gen/api/hello" "github.com/cloudwego/kitex/pkg/rpcinfo" "github.com/cloudwego/kitex/server" "github.com/kitex-contrib/registry-servicecomb/registry" ) type HelloImpl struct{} func (h *HelloImpl) Echo(_ context.Context, req *api.Request) (resp *api.Response, err error) { resp = &api.Response{ Message: req.Message, } return } func main() { // **初始化ServiceComb注册中心,默认从环境变量读取配置** r, err := registry.NewDefaultSCRegistry() if err != nil { panic(err) } svr := hello.NewServer( new(HelloImpl), server.WithRegistry(r), server.WithServerBasicInfo(&rpcinfo.EndpointBasicInfo{ServiceName: "Hello"}), server.WithServiceAddr(&net.TCPAddr{IP: net.IPv4(0, 0, 0, 0), Port: 8080}), ) if err := svr.Run(); err != nil { log.Println("server stopped with error:", err) } else { log.Println("server stopped") } } Consumer端: import ( "context" "log" "time" "github.com/cloudwego/kitex-examples/hello/kitex_gen/api" "github.com/cloudwego/kitex-examples/hello/kitex_gen/api/hello" "github.com/cloudwego/kitex/client" "github.com/kitex-contrib/registry-servicecomb/resolver" ) func main() { // **初始化ServiceComb注册中心,默认从环境变量读取配置** r, err := resolver.NewDefaultSCResolver() if err != nil { panic(err) } newClient := hello.MustNewClient( "Hello", client.WithResolver(r), client.WithRPCTimeout(time.Second*3), ) for { resp, err := newClient.Echo(context.Background(), &api.Request{Message: "Hello"}) if err != nil { log.Fatal(err) } log.Println(resp) time.Sleep(time.Second) } }
  • 验证 部署成功后,登录微服务引擎控制台,在左侧导航栏选择“ServiceComb引擎专享版”,单击前提条件创建的ServiceComb引擎,选择“微服务目录”,单击微服务名称,在“实例列表”页签查看服务实例是否已经成功注册。 您也可以验证Consumer调用Provider能够正常调用。 设置环境变量serverAddr和serverPort为ServiceComb引擎服务注册发现地址的ip和port。 运行consumer。说明成功从ServiceComb引擎的服务中心获取了provider的ip和port,并调用了provider。
  • 适用场景 Spring Boot、Spring Cloud广泛应用于构建微服务应用。使用ServiceComb引擎托管Spring Cloud应用,主要目的是使用高可靠的商业中间件替换开源组件,对应用系统进行更好地管理和运维,改造过程应尽可能降低对业务逻辑的影响。适用于如下场景: 基于Spring Boot开发的应用系统,不具备微服务基本能力。应用系统通过集成Spring Cloud Huawei,具备服务注册发现、动态配置管理等能力。 基于Spring Cloud开源技术体系开发的应用系统,例如已经采用Eureka实现注册发现、采用Nacos实现动态配置,应用系统通过集成Spring Cloud Huawei,使用高可靠的商业中间件替换开源中间件,降低维护成本。 基于Spring Cloud其他开发体系,例如Spring Cloud Alibaba、Spring Cloud Azure等构建的云原生应用,使用Spring Cloud Huawei迁移到华为云运行。