文章目录
持久化流程
为什么持久化?不持久化,重启应用,数据就没了啊。这也就是所谓的原始模式。
我们推荐通过控制台设置规则后将规则推送到统一的规则中心,客户端实现 ReadableDataSource 接口端监听规则中心实时获取变更。
流程如下:
DataSource 扩展常见的实现方式
- 拉模式:客户端主动向某个规则管理中心定期轮询拉取规则,这个规则中心可以是 RDBMS、文件,甚至是 VCS 等。这样做的方式是简单,缺点是无法及时获取变更;
- 推模式:规则中心统一推送,客户端通过注册监听器的方式时刻监听变化,比如使用 Nacos、Zookeeper 等配置中心。这种方式有更好的实时性和一致性保证。
我们来看看都有哪几种模式以及他们之间的区别。
pom文件依赖
<dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-datasource-nacos</artifactId></dependency>
yaml配置
spring:cloud:sentinel:transport:dashboard: localhost:8080# port: 8719# client-ip: localhosteager:trueweb-context-unify:falsedatasource:# 规则命名:可以任意命名flow-rule:# 持久化在nacos中,还可选择zookeeper,consul等nacos:# nacos服务地址server-addr: ip:8848namespace: 45de6484-833e-4cce-b895-f14095f20605
group-id: SENTINEL_GROUP
# 配置DataIddata-id: ossa-service-producer-flow-rule
data-type: json
# 流控规则:FLOW,DEGRADE,PARAM_FLOW等rule-type: flow
nacos配置
[{"resource":"/test","limitApp":"default","grade":1,"count":2,"strategy":0,"controlBehavior":0,"clusterMode":false},{"resource":"/producer/{id}","limitApp":"default","grade":1,"count":2,"strategy":0,"controlBehavior":0,"clusterMode":false}]
本文转载自: https://blog.csdn.net/CSDN_SAVIOR/article/details/125488168
版权归原作者 步尔斯特 所有, 如有侵权,请联系我们删除。
版权归原作者 步尔斯特 所有, 如有侵权,请联系我们删除。