这是我参与11月更文挑战的第22天,活动详情查看:2021最后一次更文挑战
Spring Cloud Sentinel 整合 Nacos 实现动态流控规则,步骤如下:
- 添加Nacos数据源的maven依赖·
1 | xml复制代码<dependency> |
2. 创建一个REST接口,用于测试
1 | java复制代码@RestController |
- 在application.yml文件配置添加数据源
1 | yml复制代码spring: |
部分参数相关说明如下:
- datasource:支持Nacos、Redis、Zookeeper、Apollo、file等,选择哪个类型的数据源对应配置对应的key
- data-id:设置成${spring.application.name} ,用于区分不同应用的配置文件
- data-type:配置项的内容格式,Spring Cloud Alibaba Sentinel 提供了JSON和XML两种内容格式,如果需要自定义内容格式,则把值设置为custom,并且converter-class指向converter类
- rule-type:数据源找那个的规则是哪种类型,有flow、degrade、gw-flow、param-flow等。
访问http://127.0.0.1:8848/nacos 进入Nacos控制台,创建流控配置规则,具体的配置信息如下:
1 | json复制代码{ |
访问http://127.0.0.1:8718 进入Sentinel Dashboard,找到对应的模块菜单下的【流控规则】,可看到在Nacos上锁配置的流控规则已经被加载了
在Nacos 控制台上修改对应的流控规则后,可实时同步在Sentinel Dashboard上能查看流控规则的修改。
流控规则的动态修改有两种方式:
- 通过Nacos 控制台修改。
- 在Sentinel Dashboard上修改。
在Nacos控制台上修流控规则,可同步到Sentinel Dashboard,Nacos是一个流控规则的持久化动态修改平台,如果在Sentinel Dashboard上修改对应的流控规则应该也能同步到Nacos上,才能达到双向同步流控规则。但是Sentinel Dashboard还没能实现Sentinel Dashboard 同步流控规则到Nacos功能。
本文转载自: 掘金