38.网关限流-API分组维度
自定义API分组
/**
* 配置初始化的限流参数
*/
@PostConstruct
public void initGatewayRules(){
Set<GatewayFlowRule> rules=new HashSet<>();
rules.add(new GatewayFlowRule("product_api1").setCount(1).setIntervalSec(1));
rules.add(new GatewayFlowRule("product_api2").setCount(1).setIntervalSec(1));
GatewayRuleManager.loadRules(rules);
}
/**
* 自定义API分组
*/
@PostConstruct
private void initCustomizedApis(){
Set<ApiDefinition> definitions=new HashSet<>();
ApiDefinition api1=new ApiDefinition("product_api1")
.setPredicateItems(new HashSet<ApiPredicateItem>(){{
//以/product-serv/product/api1/** 开头的请求
add(new ApiPathPredicateItem().setPattern("/product-serv/product/api1/**")
.setMatchStrategy(SentinelGatewayConstants.URL_MATCH_STRATEGY_PREFIX));
}});
ApiDefinition api2=new ApiDefinition("product_api2")
.setPredicateItems(new HashSet<ApiPredicateItem>(){{
//以/product-serv/product/api2/demo1 完成的url路径匹配
add(new ApiPathPredicateItem().setPattern("/product-serv/product/api2/demo1"));
}});
definitions.add(api1);
definitions.add(api2);
GatewayApiDefinitionManager.loadApiDefinitions(definitions);
}
本文标题:38.网关限流-API分组维度
本文链接:https://www.haomeiwen.com/subject/oemyzhtx.html
网友评论