为微服务设置熔断治理策略
当微服务消费者访问提供者出现异常,比如实例网络不通、请求超时等,并且异常积累到一定的程度,需要停止访问提供者,返回一个异常或者缺省值,防止雪崩效应。
前提条件
已参考创建微服务完成微服务创建,启动微服务后,根据yaml文件的配置,会在对应的服务下注册服务实例。如果没有事先创建微服务或者微服务已删除,在注册服务实例时会自动创建微服务。
设置熔断
- 登录微服务引擎控制台。
- 在左侧导航栏选择“ServiceComb引擎专享版”。
- 单击待操作的引擎。
- 选择“微服务治理”。
- 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。
- 单击需要治理的微服务。单击“熔断”。
- 单击“新增”,选择合理的策略,熔断策略配置项如下表所示。
图1 设置熔断(Spring Cloud开发框架接入的微服务)图2 设置熔断(Java Chassis开发框架接入的微服务)
配置项
配置项说明
下游微服务
此配置适用于Spring Cloud开发框架接入的微服务。
设置本微服务调用下游微服务的熔断规则,在下拉选项中选择下游微服务。
熔断对象
此配置适用于Java Chassis开发框架接入的微服务。
该应用调用的服务和方法,下拉菜单可直接选择。
指定请求路径
此配置适用于Spring Cloud开发框架接入的微服务。
可单击
,通过设置Method(如GET、POST、PUT等 )、Path(请求路径 )以及Headers(请求头)等参数,可以筛选出特定的请求集合,精准定位需要执行熔断操作的请求。
熔断时间窗
熔断的持续时间,该时间窗内不再响应请求。单位为ms。
失败率
在设定的窗口请求数内,请求失败的比例。例如设置窗口请求数为20,失败率为50%,当这20个请求中有10个(50%)失败时,就会触发熔断条件。
窗口请求数
触发条件,窗口收到的请求数。“失败率”和“窗口请求数”的条件需同时满足才会触发熔断。
- 单击“确定”,保存配置。