检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
三方软件版本管理策略 系统升级、改造过程中,三方软件冲突是最常见的问题。随着软件迭代速度越来越快,传统的软件兼容性管理策略已经不适应软件的发展。 本章节分享三方软件管理的最佳实践,帮助您打造一个持续演进的应用系统。 开源软件选型 主要的开源社区,例如Spring Boot、Spring
题。随着软件迭代速度越来越快,传统的软件兼容性管理策略已经不适应软件的发展,您可以参考三方软件版本管理策略来解决版本冲突。 父主题: 概述
常用概念 应用:可以将应用理解为完成某项完整业务场景的软件系统。应用一般由多个微服务组成,应用里面的微服务能够相互发现和调用。 微服务:完成某项具体业务功能的软件系统。微服务是独立开发、部署的单元。 微服务实例:将微服务采用部署系统部署到运行环境,就产生了实例。可以将实例理解为一个进程,一个微服务可以部署若干实例。
部署微服务应用 应用是一个功能相对完备的业务系统,由一个或多个特性相关的组件组成。组件是组成应用的某个业务特性实现,以代码或者软件包为载体,可独立部署在环境下运行。 微服务应用部署,请参考创建并部署组件。
题。随着软件迭代速度越来越快,传统的软件兼容性管理策略已经不适应软件的发展,您可以参考三方软件版本管理策略来解决版本冲突。 Spring-cloud-huawei、Servicecomb及Sermant功能对比 一级特性 二级特性 serviccomb-java-chassis spring-cloud-huawei
ler/codec/http/websocketx/WebSocketClientHandshaker;" 原因分析 通常是由于某个第三方软件引入了不匹配的版本依赖。 解决方法 可在开发环境下使用mvn dependency:tree命令查看依赖树,排查微服务开发框架同netty版本是否匹配。
普通应用快速成为云原生应用 业务代码零侵入 基本实现原理 Mesher是L7层协议代理,Mesher以Sidecar模式运行在应用所在的Pod内,与Pod共享网络与存储: Pod中的应用使用Mesher作为http代理,可以自动发现其他服务。 Mesher会代替Pod中的应用向注册中心注册应用相关信息,以便让其他应用发现。
滚动升级 推荐使用ServiceStage部署Spring Cloud应用,使用ServiceStage能够方便的实现滚动升级。 当使用ServiceStage部署应用的时候,可参考设置应用健康检查分别配置组件存活探针、组件业务探针,用以检测微服务的“存活”状态和“就绪”状态。 spring
滚动升级 推荐使用ServiceStage部署Java Chassis应用,使用ServiceStage能够方便的实现滚动升级。 当使用ServiceStage部署应用的时候,可以配置组件业务探针,使得ServiceStage能够正确的监测微服务的状态。配置组件业务探针,需要启用
量会相应增加。根据实际经验,业务系统通常都不会直接依赖实现组件的API。 改造过程中最容易出现的问题是三方软件兼容性问题。处理兼容性问题的最佳策略是存在两个不同版本的三方软件时,优先使用新版本。对于Spring Boot、Spring Cloud版本,尽可能使用社区最新的版本,并
目录下,打开cmd命令,执行mvn clean package命令,对项目进行打包编译。编译成功后,获取下表中的两个软件包。 表1 软件包列表 软件包所在目录 软件包名称 说明 Sermant-examples/registry-demo/dubbo-registry-demo/
tifactId> </dependency> 如果依赖了其他groupId为com.huawei.paas.cse的软件包,删除即可。2.1.3之后,所有软件包可以从Maven中央库获取,不需要额外配置Maven仓库。 父主题: 附录
如果您的项目中,已经包含了上述依赖,则不需要做任何处理。 其中servicestage-environment软件包是可选的。这个软件包提供了环境变量映射的功能,依赖这个软件包以后,当您采用ServiceStage部署应用,不用手工修改注册中心地址、配置中心地址、项目名称等信息,会
目录下,打开cmd命令,执行mvn clean package命令,对项目进行打包编译。编译成功后,获取下表中的两个软件包。 表1 软件包列表 软件包所在目录 软件包名称 说明 Sermant-examples/registry-demo/spring-cloud-registr
通过Spring Cloud Huawei SDK托管Spring Cloud应用 概述 快速接入ServiceComb引擎 合理的规划系统架构 三方软件版本管理策略 开发环境规划管理 应用逻辑隔离管理 配置文件加密方案 合理规划服务治理 常见问题 父主题: ServiceComb引擎托管应用
操作步骤 在GRPC获取路径下载生产者端geeter_server和消费端greeter_client的代码。 在本地go环境构建出二进制软件包grpc-provider和 grpc-consumer,执行命令如下。 GOOS=linux go build -o grpc-provider
服务框架下的微服务应用开发,请参考本章节给出的参考资料链接。 体验ServiceComb引擎最快捷的方式是使用“ServiceComb引擎推荐示例”里面的例子。下载示例,修改配置文件中的ServiceComb引擎地址,AK/SK信息,在本地运行例子,这些例子可以注册到ServiceComb引擎。
management引入了依赖管理。 第二步:修改parent和dependency management避免三方软件冲突 parent和dependency management的修改是避免三方软件冲突的关键步骤。 首先确定选用的Spring Cloud Huawei的版本,然后查询Spring
在demo源码根目录下,打开cmd命令,执行mvn clean package命令,对项目进行打包编译。 编译成功后,生成如表1所示的两个Jar包。 表1 软件包列表 软件包所在目录 软件包名称 说明 \eureka-consumer\target eureka-client-consumer-1.0.0-SNAPSHOT
持续升级还需要构建自动化测试能力,以减少版本升级的验证时间和控制版本升级的风险,及早发现问题。持续的构建自动化能力和升级版本,是被证明有效的构建高质量软件的最佳实践。 父主题: 托管Java Chassis应用