0


【微服务|Sentinel】sentinel数据持久化

文章目录

持久化流程

为什么持久化?不持久化,重启应用,数据就没了啊。这也就是所谓的原始模式。

我们推荐通过控制台设置规则后将规则推送到统一的规则中心,客户端实现 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}]
标签: 微服务 sentinel java

本文转载自: https://blog.csdn.net/CSDN_SAVIOR/article/details/125488168
版权归原作者 步尔斯特 所有, 如有侵权,请联系我们删除。

“【微服务|Sentinel】sentinel数据持久化”的评论:

还没有评论