EDAS已支持使用应用高可用服务AHAS(Application High Availability Service)实现Spring Cloud应用、Dubbo应用和HSF应用的限流降级,并支持实时查看限流降级详情和动态变更规则,从而全面保障您的应用可用性。
什么是限流降级?
限流
可以理解为一个控制流量阈值或调节比例的功能。例如,在前端网站面对大流量访问时,可以对流量进行控制,防止大流量对后端核心系统造成破坏并导致服务不可用的情况。总体而言,限流是指通过调节流量阈值控制通过系统的最大流量值,保证系统安全可靠运行。
在服务提供者端配置限流模块代码,并在EDAS中配置限流策略后,即可使服务提供者具备限流功能。当服务消费者调用服务提供者的服务时,所有访问请求都会通过限流模块进行计算,若服务消费者调用量在一定时间内超过预设阈值,则会触发限流策略并启动限流处理。
降级
在EDAS中,降级通常用于对下游出现超时的非核心服务提供者进行低优先级调用,确保上游核心应用(服务消费者)不被影响。
通过在服务消费者端配置降级模块代码,并在EDAS中配置降级策略,使服务消费者具备降级功能。此时服务消费者去调用服务提供者时,若服务提供者服务响应时间超过了预设阈值,则会触发降级策略进行降级处理。
使用须知
在使用EDAS限流降级功能前,您需要关注以下内容:
请确保您已开通AHAS。具体操作,请参见开通AHAS。
说明使用AHAS时需要单独付费。
新部署的应用将默认使用AHAS组件进行限流降级。
部署的已有应用如果未使用过限流降级,当您使用限流降级时,将默认使用AHAS进行限流降级。
部署的已有应用如果已使用过限流降级,将继续使用原有的实现方式。
功能概述
限流降级功能具体包括:
功能 | 描述 | 相关文档 |
流控规则 | 监控应用流量的QPS或线程数等指标,当达到您指定的阈值时立即拦截流量,以避免被瞬时的流量高峰冲垮,从而保障应用的可用性。 | |
降级规则 | 监控应用下游依赖应用的响应时间或异常比例,当达到您指定的阈值时立即降低下游依赖应用的优先级,避免应用受到影响,从而保障应用的可用性。 | |
热点规则 | 为应用配置热点规则后,EDAS将分析统计热点参数(资源调用过程中的调用次数较高的参数),并根据配置的热点规则对包含热点参数的资源调用进行限流,保护系统稳定性。 | |
操作日志 | 记录当前云账号及当前云账号创建的RAM用户对应用进行的操作,包括具体资源名、操作的内容、操作时间和操作人ID等,方便您追踪应用和资源的变更。 | |
权限管理 | 如果RAM用户需要配置和推送AHAS中应用的流控降级规则,您需要对RAM用户单独授予读写权限,从而严格管控权限,降低由于错误推送配置引发线上问题的可能性。 | 无 |