The documentation you are viewing is for Dapr v1.12 which is an older version of Dapr. For up-to-date documentation, see the latest version.
Sentinel 容错中间件组件
Sentinel 是一个功能强大的容错组件,它以“流量”为切入点,从流量控制、流量整形、集群限流、熔断降级和系统自适应保护等多个维度来保证微服务的可靠性和弹性。
Sentinel HTTP 中间件 使 Dapr 能够使用 Sentinel 的强大能力来保护您的应用程序。 您可以参考 Sentinel Wiki 来了解更多关于 Sentinel 的信息。
配置
根据下述定义,请求正文转换为大写字母:
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
name: sentinel
spec:
type: middleware.http.sentinel
version: v1
metadata:
- name: appName
value: "nodeapp"
- name: logDir
value: "/var/tmp"
- name: flowRules
value: >-
[
{
"resource": "POST:/v1.0/invoke/nodeapp/method/neworder",
"threshold": 10,
"tokenCalculateStrategy": 0,
"controlBehavior": 0
}
]
元数据字段规范
字段 | 详情 | 示例 |
---|---|---|
appName | 当前运行服务的名称 | nodeapp |
logDir | 日志目录路径 | /var/tmp/sentinel |
flowRules | 哨兵流量控制规则 json 数组 | 流量控制规则 |
circuitBreakerRules | 哨兵断路器规则 json 数组 | 断路器规则 |
hotSpotParamRules | 哨兵热点参数流控制规则 json 数组 | 热点规则 |
isolationRules | 哨兵隔离规则 json 数组 | 隔离规则 |
systemRules | 哨兵系统规则 json 数组 | 系统规则 |
一旦达到上限,请求将返回 HTTP Status code 429: Too Many Requests。
特别注意每个规则定义中 resource
领域。 在 Dapr 中,它遵循以下格式:
POST/GET/PUT/DELETE:Dapr HTTP API Request Path
所有具体的 HTTP API 信息都可以从 [Dapr API Reference](https://v1-12.docs.dapr.io/zh-hans/reference/api/) 中找到. 在上述示例配置中, resource
字段设置为 POST:/v1.0/invoke/nodeapp/method/neworder。
Dapr配置
apiVersion: dapr.io/v1alpha1
kind: Configuration
metadata:
name: daprConfig
spec:
httpPipeline:
handlers:
- name: sentinel
type: middleware.http.sentinel
相关链接
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.