规则介绍¶
微服务引擎支持通过服务网格或 Sentinel 治理东西向流量。
Sentinel 治理规则¶
-
流控规则的原理是监控应用或服务流量的 QPS 指标,当指标达到阈值时根据预先设定的规则对请求流量进行控制,防止应用因短时间内无法处理过多流量而崩溃。使用流控规则后,系统可以在接下来的空闲期间逐渐处理堆积的请求,当指标重新恢复到阈值以下后,恢复正常的流量请求控制。
-
熔断降级
在分布式系统中,各个服务通常需要调用其他的内部或外部服务才能正常运行,如果被调用的服务不够稳定,那么级联效应会导致调用者自身的响应时间也变长,产生线程堆积甚至导致服务不可用。为了避免这种情况出现,需要通过熔断机制根据预设的规则切断不稳定的调用链路,或者对下游服务进行降级,保护系统的整体可用性。
-
热点规则
热点指经常被访问的数据。设置热点规则时,需要配置热点参数(即需要统计访问量的目标参数),然后系统会统计对该热点参数的请求量,当达到一定的阈值后,包含该热点参数的资源就是被限制调用。热点规则适用于统计被频繁访问的资源,达到一定的阈值后限制对该资源的访问。
-
系统规则
系统规则是指,由 Sentinel 综合系统容量、CPU 使用率、平均响应时间、入口 QPS 等数据,从整体维度出发自动选择流控规则控制请求流量。和其他规则不同的是,系统规则针对的是应用级别的入口流量,即仅对进入应用的流量生效,而其他规则通常是针对资源维度进行控制。
-
授权规则
授权规则允许基于请求来源进行流量治理,例如仅放行白名单中的调用方发起的请求,不放行黑名单中的调用方发起的请求。
Mesh 治理规则¶
流量治理为用户提供了三种资源配置,虚拟服务、目标规则、网关规则。 通过配置相应规则可以实现路由、重定向、熔断、分流等多项流量治理功能。用户可以通过向导或YAML形式创建、编辑治理策略。
- 虚拟服务主要用于对请求流量的路由定制规则,并可以对数据流做出分流、重定向、超时返回等处理。
- 目标规则则更关注流量本身的治理,为请求流量提供更强大的负载均衡、连接存活探寻、熔断等功能。
- 网关规则为 Istio 网关提供服务在网关的暴露方式。
有关这三项治理规则的详细说明,可参考文档流量治理。