配置隔离规则
隔离规则,通过控制接口或调整依赖的并发线程数,以保证系统的稳定性。这种方法适用于应用程序内部或下游依赖出现不稳定的情况,例如慢SQL或下游应用响应时间变慢等。
功能入口
- 登录微服务治理控制台。
- 在控制台左侧导航栏中选择应用治理。
- 在应用治理页面的应用卡片页签单击目标应用卡片。
- 进入应用之后,新建隔离规则:在左侧导航栏,单击流量防护,在流量防护 - 规则管理 - 隔离规则页,单击新增流控规则按钮。
- 在新建隔离规则对话框中配置规则信息:
- 在选择防护场景页面,修改接口名称,然后单击下一步。
- 在配置防护规则页面,配置防护规则,然后单击下一步(说明若需对隔离防护规则进行编辑,则直接进入配置防护规则)。
- 在配置防护行为页面,然后单击下一步并单击新增。
- 在隔离规则页面,选择对应的规则并在状态栏下单击开启。
- 在温馨提示页面,单击确定,开启已配置的防护规则。
使用场景
常用场景 1:保障自身资源充足
当运行该请求的响应时间变长,会导致线程的并发数变大。当并发数超过阈值以后,微服务治理将拒绝多余的请求,直到堆积的任务完成,并发线程数变少。达到将异常隔离,减小不稳定性的效果。例如某个SQL执行时间为20毫秒,预期该请求每秒有50个。
在新增隔离防护规则对话框中配置以下规则信息:
- 填写接口名称和来源应用。
- 统计维度选择当前接口。
- 并发数阈值为50。
常用场景 2: 有一定相关联性的接口
当关联接口被来源应用调用QPS超过阈值时,会对当前接口来源应用的请求进行限流,有一定的相关性的方法来配置规则。例如数据库读操作和数据库写操作这两个资源分别代表数据库读写,数据库写操作接口优先级更高。
为保证读写资源争抢时,数据库写操作的接口可以留足资源,可在新增隔离防护规则对话框中配置以下规则信息:
- 接口名称为数据库读操作。
- 统计维度选择关联接口。
- 关联接口名为数据库写操作。
- 并发数阈值为10。
常用场景 3: 针对入口链路来配置隔离规则
将入口处的资源进行分离,以确保更高优先级的入口。当调用callstack入口的请求数量超过阈值时,会对来自于来源应用的请求进行隔离流控。这样可以确保重要的请求能够得到及时处理,并且不会影响其他请求的处理。
在新增隔离防护规则对话框中配置以下规则信息:
- 填写接口名称和来源应用。
- 统计维度选择链路入口。
- 并发数阈值设置为10。