1. 如何开启服务的限流熔断?
1.1. 限流降级对接
根据探针深入-服务治理-限流降级进行。
1.2. 服务治理-限流降级菜单操作
①需要开启限流降级的应用及实例启用
②点击配置查看进行熔断器配置管理
a.根据需要控制限流降级的出入口进行被调用服务和调用外部服务的开启,被调用服务代表入口,调用外部服务代表出口,举例来说:接收请求如果使用的是dubbo,那被调用服务代表dubbo服务端,也是我们下面介绍配置中的通道,限流降级的配置可以针对通道里全部服务进行控制,也可以针对某个服务进行控制,还可以针对一类服务进行控制(通过正则匹配)。在dubbo里面的服务是方法级别的,在http的情况下可能是.do级别的。
b.根据需要新增配置,配置列表-新增。
下面对参数进行解释:
资源编号:确定熔断器的唯一编号,在单服务时不需要手动输入,组合服务时需要手动补充编号。
调用类型:调用类型有被调用服务即服务提供端和调用其他服务即服务消费端。
通道:多入口时可以对通道做控制,区分多入口,一般不选。
组合服务:该熔断器类型为单服务还是组合服务,默认为单服务。
服务:具体控制服务范围,单服务类型时只能选择一个;组合服务时可以是所有服务,或者某些服务,或者用正则匹配的服务。
模式单选框:未启用表示该熔断器不产生作用。启用表示熔断器对请求进行统计,同时可进行限流、降级和熔断,熔断器会根据启用的具体内容进行控制。观察模式下熔断器会对请求进行统计,当请求达到一定的异常指标时记录,但不会对请求作出拒绝操作。禁用则是直接拒绝请求。
熔断器开启功能复选框:在启用模式下才有该数据,表示熔断器要进行的控制手段。
限流类型:限流的种类,并发数和QPS可选其中一种或一起协同控制。
最大并发请求数:通过熔断器的请求最大并发数,如果超过将会进行拒绝。这个配置一定要小于处理的线程池的最大线程数的配置,不然永远不会生效。
最大QPS:通过熔断器的QPS,如果超过将会进行拒绝。每秒新建立一个请求计数器。
降级指标阈值类型:降级熔断的判断指标类型,包括响应时间、异常数、异常比例。
降级检查阈值:熔断器为了性能考虑,不会每一个请求都进行分析统计,分析统计是分析过去一段时间的请求情况,是非常耗用CPU的。 熔断器根据请求并发达到degradeCheckThreshold才会触发统计分析,并根据统计的结果是否进入降级.一般建议设置为maxConcurrencyRequests的值的%60到%80之间。
响应时间阈值(毫秒):熔断器进行统计分析后,当响应时间大于阈值时,进入降级、熔断。当响应时间小于阈值时进行升级。
异常数阈值(毫秒):熔断器进行统计分析后,当异常数大于阈值时,进入降级、熔断。当异常数小于阈值时进行升级。
异常比例阈值(毫秒):熔断器进行统计分析后,当异常比例大于阈值时,进入降级、熔断。当异常比例小于阈值时进行升级。
降级时间窗口(毫秒):熔断器进入降级状态时,进行降级时间窗口,建议60000 到 300000 毫秒之间 。
降级后并发请求数:熔断器进入降级状态时,进行允许通过熔断器的最大并发数 ,一般建议设置为maxConcurrencyRequests的值的%20到%30之间。
熔断时间窗口(毫秒):熔断器进入熔断状态时,进行熔断时间窗口,此允许通过熔断器的最大并发数为0,不允许任何请求通过。建议60000 到 180000 毫秒之间。
熔断复选框:熔断器允许进入熔断状态,但是熔断状态是由降级状态进入的,所以一般熔断复选框选中,降级也会被选中。
过载异常复选框:过载时被拒绝的请求返回自定义的过载异常信息,否则使用默认异常信息。
降级异常复选框:降级时被拒绝的请求返回自定义的过载异常信息,否则使用默认异常信息。
熔断异常复选框:熔断时被拒绝的请求返回自定义的过载异常信息,否则使用默认异常信息。
过载异常信息:过载时的自定义异常信息(默认为:服务忙)。
过载异常码:过载时的自定义过载码(默认为:999999)。
降级异常信息:降级时的自定义异常信息(默认为:服务繁忙)。
降级异常码:降级时的自定义过载码(默认为:999999)。
熔断异常信息:熔断时的自定义异常信息(默认为:服务非常繁忙)。
熔断异常码:熔断时的自定义过载码(默认为:999999)。