检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
服务治理概述 流量标记 限流 容错 熔断 隔离仓 负载均衡 降级 错误注入 自定义治理 黑白名单 父主题: 使用ServiceComb引擎功能
降级 降级治理是在业务高峰期时,需要临时减少对于目标服务的访问,达到降低目标服务负载;或者屏蔽对于非关键服务的访问,保持本服务的核心处理能力的治理措施。 Java Chassis降级治理是作用于微服务消费者,需要微服务应用集成降级模块,启用bizkeeper-consumer处理链。
限流 限流规则借鉴了Resilience4j的思想,作用在服务端,其原理为:每隔limitRefreshPeriod的时间会加入rate个新许可,就可以最多接受rate个请求,超过的将被限流,返回响应码429。 Java Chassis的限流作用于微服务提供者,需要微服务应用集成
熔断 熔断规则借鉴了Resilience4j的思想,作用在服务端,其原理为: 达到指定failureRateThreshold错误率或者slowCallRateThreshold慢请求率时进行熔断,返回响应码429,慢请求通过SlowCallDurationThreshold定义
Spring Cloud应用实现优雅上下线功能 功能介绍 基于虚拟机场景 基于CCE场景 配置及验证优雅上下线能力 父主题: ServiceComb引擎应用治理
隔离仓 隔离是一种异常检测机制,常用的检测方法是请求超时、流量过大等。一般的设置参数包括超时时间、同时并发请求个数等。 Java Chassis的隔离作用于微服务消费者,需要微服务应用集成隔离模块,启用bizkeeper-consumer处理链。 配置如下: servicecomb:
最大限度提升系统性能,还能防止异常情况导致系统无法给正常用户提供服务。线程池优化和业务自身的性能有很大关系,不同的场景参数设置不同,需要具体分析。下面分两种场景介绍。开始之前需要对业务的性能做一些基本的摸底,对常见的接口进行测试,查看时延。 业务性能很好的情况。 即非并发场景,接口的平均时延小于10ms。
使用基于熔断器的计数。 false spring.cloud.servicecomb.dashboard.enabled 是否开启仪表盘数据上报功能 false spring.cloud.servicecomb.dashboard.address 仪表盘数据上报的地址,格式为http://{ip}:{port},以“
容错 容错的原理为:根据重试时间间隔的是否固定,分为固定间隔重试和指数间隔重试两种策略,默认重试策略为固定间隔重试。 Java Chassis的容错作用于微服务消费者,需要微服务应用集成容错模块,启用bizkeeper处理链。 配置示例如下: servicecomb: handler:
错误注入 用户在consumer端使用故障注入,可以设置发往指定微服务的请求的时延和错误及其触发概率用来在业务高峰期时保护核心业务只被关键微服务访问。 Spring Cloud Huawei暂不支持错误注入治理策略。 Java Chassis错误注入治理是作用于微服务消费者,需要
cloud.servicecomb.config.fileSource,使得用户能够配置yaml格式的配置文件。这个配置项的值是key-value系统的key列表,多个key以逗号(,)分隔,这些key的值是yaml格式的文本内容,Spring Cloud Huawei会对这些key的值进行特殊处理和解析。
配置中心概述 配置中心用来管理微服务应用的配置。微服务连接配置中心,能够从配置中心获取配置信息及其变化。配置中心还是其他微服务管控功能的核心部件,比如服务治理规则的下发,也是通过配置中心实现的。 ServiceComb引擎支持的配置中心为:config-center和kie。 当ServiceComb引擎版本为1
黑白名单 基于公钥认证机制,ServiceComb引擎提供了黑白名单功能。通过黑白名单,可以控制微服务允许其他哪些服务访问。 只有启用了公钥认证,设置的黑白名单才能生效。 父主题: 使用服务治理
创建安全认证账号名和密码 为开启了安全认证的ServiceComb引擎专享版创建账号名和密码,请参考系统管理。 您可以使用关联了admin角色权限的账号创建新账号,根据实际业务需求把合适的角色同账号关联。使用该账号的用户则具有对该ServiceComb引擎的相应的访问和操作权限。
流量标记 Java Chassis通过Handler实现了基于流量标记治理能力。其中Provider实现了限流、熔断和隔离仓,Consumer实现了重试。 使用流量标记治理能力,首先需要在代码中引入依赖: <dependency> <groupId>org.apache.servicecomb</groupId>
转发到实例标签为group:green的实例,20%的流量转发到实例标签为group:red的实例。 父主题: Dubbo应用实现标签路由功能
自定义治理 服务治理的默认实现并不一定能够解决业务的所有问题。自定义治理功能可以方便地在不同的场景下使用基于流量的治理能力,比如在网关场景下进行流控,在Java Chassis场景下支持URL匹配等。SDK基于Spring,使用Spring的框架都能够灵活的使用这些API,方法类似。
Java Chassis使用配置中心 Java Chassis使用以config-center命名的配置中心。 需要在项目中增加如下依赖: <dependency> <groupId>org.apache.servicecomb</groupId> <artifactId
在Pod重启时自动挂载Sermant Agent,从而通过Sermant Agent注册到CSE上。 父主题: Dubbo应用实现标签路由功能
httpServerPort”进行指定。 您的容器需要支持curl命令,否则会导致优雅下线失效。 父主题: Spring Cloud应用实现优雅上下线功能