Alibaba Sentinel · Schema
Alibaba Sentinel Flow Rule
JSON Schema for Sentinel flow control rules used by the Dashboard API and configuration.
AlibabaCircuit BreakerFlow ControlJavaMicroservicesRate LimitingResilienceTraffic ShapingOpen SourceCloud NativeSpring Cloud
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/api-evangelist/alibaba-sentinel/json-schema/flow-rule.json",
"title": "Alibaba Sentinel Flow Rule",
"description": "JSON Schema for Sentinel flow control rules used by the Dashboard API and configuration.",
"type": "array",
"items": {
"$ref": "#/$defs/FlowRule"
},
"$defs": {
"FlowRule": {
"type": "object",
"required": ["resource", "count"],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the rule."
},
"resource": {
"type": "string",
"description": "Resource name to apply the flow rule to."
},
"limitApp": {
"type": "string",
"default": "default",
"description": "Calling application to apply the rule to."
},
"grade": {
"type": "integer",
"enum": [0, 1],
"default": 1,
"description": "Threshold type: 0 = thread count, 1 = QPS."
},
"count": {
"type": "number",
"description": "Threshold count value."
},
"strategy": {
"type": "integer",
"enum": [0, 1, 2],
"default": 0,
"description": "Flow control strategy: 0 = direct, 1 = relate, 2 = chain."
},
"refResource": {
"type": "string",
"description": "Reference resource for relate/chain strategy."
},
"controlBehavior": {
"type": "integer",
"enum": [0, 1, 2, 3],
"default": 0,
"description": "Control behavior: 0 = reject directly, 1 = warm up, 2 = rate limiter, 3 = warm up + rate limiter."
},
"warmUpPeriodSec": {
"type": "integer",
"description": "Warm-up period in seconds for warm up behavior."
},
"maxQueueingTimeMs": {
"type": "integer",
"description": "Maximum queuing time in milliseconds for rate limiter behavior."
},
"clusterMode": {
"type": "boolean",
"default": false,
"description": "Whether the rule is for cluster flow control."
},
"clusterConfig": {
"type": "object",
"properties": {
"flowId": {
"type": "integer",
"description": "Cluster flow ID."
},
"thresholdType": {
"type": "integer",
"enum": [0, 1],
"description": "0 = average by local, 1 = global threshold."
},
"fallbackToLocalWhenFail": {
"type": "boolean",
"default": true,
"description": "Whether to fall back to local flow control on failure."
}
}
}
}
}
}
}