EDAS已支持使用AHAS实现应用Spring Cloud应用、Dubbo应用和HSF应用的限流降级,支持实时查看限流降级详情和动态变更规则,全面保障您的应用的可用性。
背景信息
- 新部署的应用将默认使用AHAS组件进行限流降级,在创建或部署应用时打开AHAS开关即可。
- 部署的已有应用如果未使用过限流降级,当您再次部署时,打开AHAS开关,即可使用AHAS进行限流降级。
- 部署的已有应用如果已使用过限流降级,将继续使用原有的实现方式。
限流降级简介
- 限流
限流可以理解为是一个控制流量阈值或调节比例的功能。在前端网站面对大流量访问的时候,可以通过调节流量阈值来控制通过系统的最大流量值,防止大流量对后端核心系统造成破坏,导致服务不可用,保证系统安全可靠运行。
通过在服务提供者端配置限流模块代码,并在EDAS中配置限流策略后,使服务提供者具备限流功能。此时服务消费者去调用服务提供者时,所有的访问请求都会通过限流模块进行计算,若服务消费者调用量在一定时间内超过了预设阈值,则会触发限流策略,进行限流处理。
- 降级
在EDAS中,降级通常用于对下游出现超时的非核心服务提供者进行低优先级调用,确保上游核心应用(服务消费者)不被影响。
通过在服务消费者端配置降级模块代码,并在EDAS中配置降级策略,使服务消费者具备降级功能。此时服务消费者去调用服务提供者时,若服务提供者服务响应时间超过了预设阈值,则会触发降级策略进行降级处理。
操作步骤
- 登录EDAS控制台。
- 在左侧导航栏中单击应用列表,在顶部菜单栏选择地域并在页面上方选择微服务空间,然后在应用列表页面单击具体的应用名称。
- 在应用详情页左侧导航栏中单击限流降级,然后在展开的菜单中单击具体的功能菜单。
AHAS提供的限流降级功能具体包括:
- 监控详情:查看应用中的所有资源的数据分布、历史水位对比情况,详情请参见机器监控。
- 簇点链路:请求链路页面会展示当前应用在单个实例上的所有资源以及实时的调用数据。包含两种视图:
- 平铺视图:不区分调用链路关系,平铺展示资源的运行情况。
- 树状视图:根据资源的调用链路关系,展示树状结构。
详情请参见规则管理。
- 流控规则:监控应用流量的QPS或线程数等指标,当达到您指定的阈值时立即拦截流量,以避免被瞬时的流量高峰冲垮,从而保障应用的可用性。详情请参见配置流控规则。
- 降级规则:监控应用下游依赖应用的响应时间或异常比例,当达到您指定的阈值时立即降低下游依赖应用的优先级,避免应用受到影响,从而保障应用的可用性。详情请参见配置熔断规则。
- 系统规则:从应用的总体Load、RT、QPS和线程数四个维度监控应用数据,对应用的入口流量进行控制,让应用尽可能运行在最大吞吐量的同时保证系统整体的稳定性。详情请参见自适应流控。
- 机器列表:展示应用接入AHAS流控降级服务的所有实例。当一段时间没有向AHAS控制台发送心跳时,此实例会自动被标记为失联状态。
- 操作日志:记录当前云账号及当前云账号创建的RAM用户对应用进行的操作,包括具体资源名、操作的内容、操作时间和操作人ID等,方便您追踪应用和资源的变更。
- 权限管理:如RAM用户需配置和推送AHAS中应用的流控降级规则,您需要对RAM用户单独授予读写权限,从而严格管控权限,降低由于错误推送配置引发线上问题的可能性。