栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springcloudalibaba-sentinel使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springcloudalibaba-sentinel使用

单机版简单使用

官方文档中文的 比较简单 直接上主要代码

@SpringBootApplication
public class SpringbootSentinelApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringbootSentinelApplication.class, args);
    }

//配置规则
    @PostConstruct
    public void init() {
        List rules = new ArrayList<>();
        FlowRule flowRule = new FlowRule();
        flowRule.setResource("doTest"); //针对那个资源设置规则
        flowRule.setGrade(RuleConstant.FLOW_GRADE_QPS);//QPS或者并发数
        flowRule.setCount(2); //QPS=5
        rules.add(flowRule);
        FlowRuleManager.loadRules(rules);
    }
}

//使用
@Service
public class TestService {

    @SentinelResource(value = "doTest",blockHandler="blockHandler",fallback = "blockHandler") //声明限流的资源
    public String doTest(String name){
        return "hello , "+name;
    }
    public String blockHandler(String name, BlockException e){ //降级,限流触发的
       return "被限流了";
    }
    public String fallback(String name){ //熔断触发的
        return "被降级了";
    }

}

结合控制台实现动态路由
  • 安装控制台的jar
    java -Dserver.port=8888 -Dcsp.sentinel.dashboard.server=localhost:8888 - Dproject.name=sentinel-dashboard-1.8.0 -jar sentinel-dashboard-1.8.0.jar
  • 添加Nacos Datasouce依赖
    com.alibaba.csp sentinel-datasource-nacos 1.8.0
  • 修改数据源加载方式
public class DataSourceInitFunc implements InitFunc{ private final String remoteAddress="192.168.216.128"; //Nacos 远程服务 hostprivate final String groupId="SENTINEL_GROUP"; //Nacos GroupID private final String dataId="com.gupaoedu.sentinel.demo.flow.rule"; @Override public void init() throws Exception { ReadableDataSource> flowRuleDataSource= new NacosDataSource<>(remoteAddress,groupId,dataId, source-> JSON.parseObject(source,new TypeReference>(){})); FlowRuleManager.register2Property(flowRuleDataSource.getProperty()); } }
  • 在Nacos上添加配置 DataID Group 内容

    git@github.com:David0101/springcloud-alibaba-example.git
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/294768.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号