检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
三方软件版本管理策略 系统升级、改造过程中,三方软件冲突是最常见的问题。随着软件迭代速度越来越快,传统的软件兼容性管理策略已经不适应软件的发展。 本章节分享三方软件管理的最佳实践,帮助您打造一个持续演进的应用系统。 开源软件选型 主要的开源社区,例如Spring Boot、Spring
验证标签路由功能 本文以consumer调用provider服务为例,在CCE场景验证标签路由功能(CCE场景部署请参考基于CCE场景)。部署图如下所示: 其中,微服务网关为Spring Cloud Netflix Zuul,provider存在2个版本,一个是版本为1.0.0(
常用概念 应用:可以将应用理解为完成某项完整业务场景的软件系统。应用一般由多个微服务组成,应用里面的微服务能够相互发现和调用。 微服务:完成某项具体业务功能的软件系统。微服务是独立开发、部署的单元。 微服务实例:将微服务采用部署系统部署到运行环境,就产生了实例。可以将实例理解为一个进程,一个微服务可以部署若干实例。
容错的原理为:根据重试时间间隔的是否固定,分为固定间隔重试和指数间隔重试两种策略,默认重试策略为固定间隔重试。 Java Chassis的容错作用于微服务消费者,需要微服务应用集成容错模块,启用bizkeeper处理链。 配置示例如下: servicecomb: handler: chain:
private String method;} Spring Cloud通过Aspect拦截RequestMappingHandlerAdapter实现了限流、熔断和隔离仓,通过拦截RestTemplate和FeignClient实现了重试。 使用流量标记治理能力,首先需要在代码中引入依赖:
自定义治理 服务治理的默认实现并不一定能够解决业务的所有问题。自定义治理功能可以方便地在不同的场景下使用基于流量的治理能力,比如在网关场景下进行流控,在Java Chassis场景下支持URL匹配等。SDK基于Spring,使用Spring的框架都能够灵活的使用这些API,方法类似。
部署微服务应用 应用是一个功能相对完备的业务系统,由一个或多个特性相关的组件组成。组件是组成应用的某个业务特性实现,以代码或者软件包为载体,可独立部署在环境下运行。 微服务应用部署,请参考创建并部署组件。
结果验证 访问灰度环境实例。 执行以下命令请求consumer: curl -H "id:1" http://{endpoint}/sayHello?name={name} 执行结果: consumer -> providerA[group:gray] -> providerB[group:gray]
使用Java语言进行微服务开发。 ServiceComb引擎微服务开发框架版本要求 微服务开发框架推荐版本如下表所示。 如果已经使用低版本的微服务开发框架构建应用,建议升级到推荐版本,以获取最稳定和丰富的功能体验。 如果已使用Spring Cloud微服务开发框架开发了应用,推荐使用Spring
version}</version> </dependency> 详细说明请参考servicecomb限流开发指南。 Spring Cloud通过Aspect拦截RequestMappingHandlerAdapter实现了限流,集成Spring Cloud Huawei以后,默认集成了限流模块sp
继续扣费。 您可以在“费用中心 > 总览”页面设置“可用额度预警”功能,当可用额度、通用代金券和现金券的总额度低于预警阈值时,系统自动发送短信和邮件提醒。 当产生欠费后,请您及时充值使可用额度大于0。若您的业务场景所需的注册配置中心较为稳定,可选择购买包年/包月计费模式的注册配置中心,以节省您的使用成本。
ler/codec/http/websocketx/WebSocketClientHandshaker;" 原因分析 通常是由于某个第三方软件引入了不匹配的版本依赖。 解决方法 可在开发环境下使用mvn dependency:tree命令查看依赖树,排查微服务开发框架同netty版本是否匹配。
继续扣费。 您可以在“费用中心 > 总览”页面设置“可用额度预警”功能,当可用额度、通用代金券和现金券的总额度低于预警阈值时,系统自动发送短信和邮件提醒。 当产生欠费后,请您及时充值使可用额度大于0。若您的业务场景所需的ServiceComb引擎专享版较为稳定,可选择购买包年/包
部署标签应用gray-provider(服务名为dubbo-b,版本为1.0.1,标签为group:gray)。 必须先配置路由规则,再部署标签应用。否则,如果在规则生效之前部署标签应用,流量就会马上请求到标签应用。 查看标签应用是否已接入ServiceComb引擎。 参考查看微服务列表查看服务名为dubbo-b的服务,是否存在2个实例(v1
状态码 状态码如表1所示。 表1 状态码 状态码 编码 错误码说明 200 - 操作成功。 204 NoContent 操作成功。 400 BadRequest 非法请求。 建议直接修改该请求为合法请求,不要再重试该请求。 401 Unauthorized 在客户端提供认证信息后
网关等待鉴权服务响应的最大时间,超时后,会认为鉴权服务不可用。 鉴权服务容错模式 选择鉴权服务容错模式,当前支持: 全部拦截:当鉴权服务不可用时(鉴权服务建立连接失败、超时或者返回5xx请求),网关拦截客户端请求。 全部放通:当鉴权服务不可用时(鉴权服务建立连接失败、超时或者返回5xx请求),网关放通客户端请求。
此处以微服务开发框架Java Chassis 2.x版本为例介绍。3.x版本配置详情请参考流量特征治理。 Spring Cloud Huawei通过Aspect拦截RequestMappingHandlerAdapter实现了熔断,集成Spring Cloud Huawei以后,默认集成了客户端熔断模
第三步:添加/删除依赖 添加的是服务注册发现、集中配置管理、服务治理相关的组件,删除的也是这些组件的第三方实现。这些功能以外的其他组件不需要变化,但需要关注Spring Boot、Spring Cloud版本升级后,这些软件可能需要配套升级。兼容性的问题通常会在编译阶段或者服务启动阶段发现。 添
*总体限流阈值 输入请求数和时间设置总体限流阈值,表示单位时间内只允许指定数量的请求访问。目的是当路由的QPS指标达到设定的阈值时,应用网关会立即拦截流量,防止瞬时的流量高峰将后端服务破坏,确保服务高可用性。单位可为秒、分钟和小时。 说明: 总体限流阈值表示所有节点限流值的总和。实际单节
vider-close-grace(两个实例)以及nacos-rest-data服务,其中服务nacos-rest-provider-close-grace关闭了优雅下线,其他服务开启优雅下线。 服务说明。 nacos-rest-provider-close-grace与naco