Sentinal关于流控规则持久化的技术栈

第一步:

        解压Sentinel-1.8.1.zip,解压完成之后,用idea打开项目下的子项目sentinel-dashboard

第二步:

        在sentinel-dashboard项目的pom文件中,添加依赖和修改依赖,找到地方,对这个两个依赖进行修改。

 第三步:

将项目中test下面的nacos包复制到java下面的地方。

 

 第四步:

修改代码,nacos下面的

 

@Configuration
@ConfigurationProperties(prefix = "nacos")
public class NacosConfig {

    private String addr;

    public String getAddr() {
        return addr;
    }

    public void setAddr(String addr) {
        this.addr = addr;
    }

    @Bean
    public Converter<List<FlowRuleEntity>, String> flowRuleEntityEncoder() {
        return JSON::toJSONString;
    }

    @Bean
    public Converter<String, List<FlowRuleEntity>> flowRuleEntityDecoder() {
        return s -> JSON.parseArray(s, FlowRuleEntity.class);
    }

    @Bean
    public ConfigService nacosConfigService() throws Exception {
        return ConfigFactory.createConfigService(addr);
    }
}

第五步:

修改controller下面的vo包下的FlowControllerV2类

 

  @Autowired
    @Qualifier("flowRuleNacosProvider")
    private DynamicRuleProvider<List<FlowRuleEntity>> ruleProvider;
    @Autowired
    @Qualifier("flowRuleNacosPublisher")
    private DynamicRulePublisher<List<FlowRuleEntity>> rulePublisher;

第六步:

将这个注释放开,前端显示,

 第七步:

在application.yml文件中添加这个nacos.addr=localhost:8848

 第八步:

打包,需要先点上面的小闪电才可以。然后点击package,接着在target中找到打包的文件。

运行java -jar  文件名;

 

 第九步:

在对应的需要持久化sentinel的微服务中先添加依赖,然后在yml文件里面写对应代码;

<!--持久化依赖-->
<dependency>
    <groupId>com.alibaba.csp</groupId>
    <artifactId>sentinel-datasource-nacos</artifactId>
</dependency>

需要先运行nacos服务,也需要运行对应的sentinel.jar文件,然后打开sentinel控制台,找到第六步放开的前端代码,多了一个流控规则。添加规则之后,就可以在nacos控制台找到对应的规则。

 

 从上图复制对应的Data Id和Group

这样就得到下面的:

Data Id对应         dataId: shop-orders-flow-rules

Group对应           groupId: SENTINEL_GROUP

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值