概述
在微服务场景中,当服务提供者的实例出现异常时,服务消费者无法感知到提供者出现异常,此时就可能出现异常调用。通过配置离群摘除功能可以实时监测下游实例的可用性,摘除异常实例,提升业务的可用性。
版本限制
框架 | 限制 | 详情 |
---|---|---|
Spring Cloud | Spring Cloud Dalston及以上版本 | -- |
Dubbo | 2.5.3+ | 支持Apache Dubbo 不支持Alibaba Dubbo |
Jdk版本 | 1.8+ | -- |
开通离群摘除
- 登录微服务治理中心控制台。
- 在左侧导航栏选择 微服务治理中心 ->应用治理。
- 在应用治理页面单击目标应用卡片。
- 在应用页面左侧导航栏选择流量治理 - 离群实例摘除,可查看离群实例摘除规则列表。
- 在创建离群实例摘除页面配置相关参数,并单击确认。
离群摘除规则参数说明:
参数 | 说明 |
---|---|
策略名称 | 离群摘除规则的名称。 |
被调用服务所用框架 | Spring Cloud或Dubbo。 |
选择生效应用 | 选择生效应用后,该应用调用的异常应用实例会被摘除。 |
错误率下限 | 被调用的应用中某个应用实例的错误率高于设置的域值后,将摘除该实例。 默认值为50%。例如该实例在统计时间窗口内被调用10次,有6次调用失败,错误率为60%,超过了配置的错误率域值(50%),则从应用中移除该实例。 |
异常类型 | 目前只支持网络异常+业务异常(HTTP 5xx)。 |
QPS下限 | QPS按照统计时间窗口进行计算,默认为10秒。 |
摘除实例比例上限 | 摘除的异常实例比例上限,即达到阈值后,不再摘除异常实例。 |
恢复检测单位时间 | 摘除的异常实例比例上限,即达到阈值后,不再摘除异常实例。 |
未恢复累计次数上限 | 持续对异常实例进行检测,检测间隔随检测次数按恢复检测单位时间线性增加,当达到设置的检测次数上限后,会按最长时间间隔持续检测异常实例是否恢复。 |
默认状态 | 默认是否开启离群摘除规则。 |