Sentine使用

1.引入alibaba总依赖后,引入下列依赖即可



com.alibaba.cloud
spring-cloud-starter-alibaba-sentinel

2.方法加注解(service)

后面注解为对限流的处理

3.启动类加规则

Sentine使用_第1张图片

private static void initFlowRules(){
List rules = new ArrayList<>();
FlowRule rule = new FlowRule();
rule.setResource("doConfirm");
rule.setGrade(RuleConstant.FLOW_GRADE_QPS);
// Set limit QPS to 20.
rule.setCount(1);
rules.add(rule);
FlowRuleManager.loadRules(rules);
}

4.下载控制台

Release v1.8.6 · alibaba/Sentinel · GitHub (yzuu.cf)

启动,可以改端口,版本

java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.1.jar

IDEA增加配置

spring.cloud.sentinel.transport.port=8719
spring.cloud.sentinel.transport.dashboard=localhost:18080

18080端口要与启动时的端口保持一致。

Sentine使用_第2张图片

5.Sentinel+Nacos

主要作用,重启仍然保留规则。

引入依赖

Sentine使用_第3张图片


com.alibaba.csp
sentinel-datasource-nacos

增加配置

Sentine使用_第4张图片

spring.cloud.sentinel.datasource.flow.nacos.serverAddr=127.0.0.1:8848
spring.cloud.sentinel.datasource.flow.nacos.namespace=train
spring.cloud.sentinel.datasource.flow.nacos.groupId=DEFAULT_GROUP
spring.cloud.sentinel.datasource.flow.nacos.dataId=sentinel-business-flow
spring.cloud.sentinel.datasource.flow.nacos.ruleType=flow

Nacos增加配置

[

{

"resource": "doConfirm",

"limitApp": "default",

"grade": 1,

"count": 100,

"strategy": 0,

"controlBehavior": 0,

"clusterMode": false

},{

"resource": "confirmOrderDo",

"limitApp": "default",

"grade": 1,

"count": 4,

"strategy": 0,

"controlBehavior": 0,

"clusterMode": false

}

]

Sentine使用_第5张图片
 

你可能感兴趣的:(SpringCloud,java)