sentinel能解决什么?
对程序资源进行流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。
那什么又是资源?
资源 是 Sentinel 中的核心概念之一。最常用的资源是我们代码中的 Java 方法。也可以是任何东西,服务,服务里的方法,甚至是一段代码
Sentinel 来进行资源保护,主要分为几个步骤:
1.定义资源
2.定义规则
Sentinel 支持以下几种规则:流量控制规则、熔断降级规则、系统保护规则、来源访问控制规则 和 热点参数规则。
3.检验规则是否生效
定义资源的方式:
1.抛出异常的方式定义资源
2.返回布尔值方式定义资源
3.注解方式定义资源 @SentinelResource
4.异步调用支持 SphU.asyncEntry(xxx) 方法定义资源
定义规则的方式:
1.通过调用FlowRuleManager.loadRules() 方法来用硬编码的方式定义流量控制规则
2.通过调用 DegradeRuleManager.loadRules() 方法来用硬编码的方式定义熔断降级规则。
3.通过调用 SystemRuleManager.loadRules() 方法来用硬编码的方式定义系统保护规则:
4.访问控制规则(很多时候,我们需要根据调用方来限制资源是否通过,这时候可以使用 Sentinel 的访问控制(黑白名单)的功能。黑白名单根据资源的请求来源(origin)限制资源是否通过,若配置白名单则只有请求来源位于白名单内时才可通过;若配置黑名单则请求来源位于黑名单时不通过,其余的请求通过。)
暂时没有回复