SentineI 整合 nacos 实现数据的持久化 | 学习笔记

简介: 快速学习 SentineI 整合 nacos 实现数据的持久化

开发者学堂课程【精通 Spring Cloud AlibabaSentineI 整合 nacos 实现数据的持久化学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/634/detail/10146


SentineI 整合 nacos 实现数据的持久化


内容介绍:

一、操作原理

二、操作步骤


一、操作原理

推荐使用 Nacos 和阿波罗,不用重启服务器。

1、首先 SentineI 读取数据源规则配置,将流控规则放入 Nacos 中,Sentinel 客户端启动时,SentineI 订单服务读取nacos 在加载到程序里面去

2、Sentinel 控制台读取订单服务展示流控规则信息,订单服务项目启动的时候后读取 nacos 配置规则到内存中

问题:为什么一旦订单服务重启,Sentinel 控制台不可以展示订单服务流控规则呢?

回答:因为流控规则都存储在内存里,重启之后就会消失,则不能展示


二、操作步骤

@Override

Public Void run(ApplicationArguments args) throws Exception {

List<Flow Rule> rules = new ArrayList<>( );

FlowRule rule1 = new FlowRule( )

rule1.setResource(GETORDER_KEY):

// QPS 控制在1

rule1.setCount(1);

//QPS 限流

rule1.setGrade(RuleConstant.FLOW_GRADE_QPS)

rule1.setLimitApp("default";

rules.addruel1)

FlowRuleManager.LoadRules(rules);

Log.info">>>限流配置加载成功<<<");

}

整合框架以后,一旦订单服务启动就会读取 Nacos 配置规则到内存中

(一)创建流控规则

登录“127.0.0.1:8848/nacos”,创建流控规则,写 JSON 数据类型

1Data ID 为:meitemayikt- order-sentinel

2Group 选择:DEFAULT_GROUP

3、配置内容为:

"resource": "/ get0rderSentinel "

"limitApp": "default" ,
"grade": 1,
"count":5,
"strategy": 0,
controlBehavior": 0,"
"clusterMode" :false

名词解释:

resource:资源名,即限流规则的作用对象

limitApp: 流控针对的调用来源,若为 default 则不区分调用来源,

grade: 限流阈值类型(QPS 或并发线程数); 0代表根据并发数量来限流,1代表根据 QPS 来进行流量控制。

count: 限流阈值.
strategy:
调用关系限流策略

点击发布

(二)引入

(三)加载配置

1、演示

nacos

discovery

###nacos 注册地址

server-addr 127.0.0.1:8848

sentinel

transport

dashboard127.0.0.1:8718

eagertrue

datasource

ds

nacos

### nacos 连接地址

server-addrlocalhost8848

### nacos 连接的分组

group-idDEFAULT_GROUP

###路由器存储规则

rule- typeflow

###读取配置文件的 data-id

data-idmeitemayikt- order-sentinel

###读取培训文件类型为 json

data-type: json

2、问题:为什么限流配置规则放置在 nacos 中,但在 nacos 中读取不到?

解决方法:

手动将配置文件更新生效,但重启之后就不存在

相关文章
|
Dubbo 关系型数据库 MySQL
nacos常见问题之命名空间配置数据上线修改如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
920 1
|
SpringCloudAlibaba 应用服务中间件 Nacos
SpringCloud Alibaba系列(二) Nacos高可用和持久化
  测试环境可以使用单机版,但是上了生产环境,为了保证系统的高可用,必须要做好相应的数据持久化和高可用,nacos默认采用了apache的内置数据库derby,但是不方便观察数据存储的情况,所以需要配置数据库,目前支持mysql,为了保证Nacos单节点故障,我们为采用集群部署,通过nginx分发到nacos,保证了nacos高可用。
304 1
|
Java 测试技术 Nacos
|
负载均衡 Java 关系型数据库
|
存储 关系型数据库 MySQL
【深入了解Nacos集群和持久化配置】 ——每天一点小知识
【深入了解Nacos集群和持久化配置】 ——每天一点小知识
864 0
|
存储 Java 关系型数据库
四.SpringCloudAlibaba极简入门-Nacos持久化与集群
在《Spring Cloud极简入门》应用架构演变一文中我们有提到,我们可以通过集群手段来实现来提高应用的作业能力,防止单节点故障。在之前的Nacos案例中我们玩的都是单机版的, 本片文章我们来探讨一下Nacos的集群部署。 在Nacos中数据默认是基于内存存储的,当Nacos重启数据(服务列表,配置列表)将会丢失,在Nacos中支持将数据持久到数据库。那么当我们对Nacos做了集群部署之后,多个Nacos节点之间是需要数据同步(数据共享)的,而正好Nacos节点之间的数据同步也是基于数据库来实现。所以我们要多Nacos做集群操作得向对Nacos做数据持久化。 这里我演示的是在centos
|
SQL SpringCloudAlibaba 关系型数据库
SpringCloud Alibaba学习(三):Nacos之集群和持久化配置
SpringCloud Alibaba学习(三):Nacos之集群和持久化配置
339 1
SpringCloud Alibaba学习(三):Nacos之集群和持久化配置
|
SQL 关系型数据库 MySQL
Docker下载安装Nacos并完成持久化配置
Docker下载安装Nacos并完成持久化配置
1657 1
Docker下载安装Nacos并完成持久化配置
|
存储 关系型数据库 MySQL
nacos持久化
nacos持久化
279 1
nacos持久化
|
存储 关系型数据库 MySQL
Nacos配置数据持久化
Nacos配置数据持久化
218 0

热门文章

最新文章