IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 基于 Nacos 实现 Sentinel 规则持久化 -> 正文阅读

[Java知识库]基于 Nacos 实现 Sentinel 规则持久化

基于 Nacos 实现 Sentinel 规则持久化

前言

Sentinel Dashboard中添加的规则数据存储在内存,微服务停掉规则数据就消失,在?产环境下不合适。我们可以将Sentinel规则数据持久化到Nacos配置中?,让微服务从Nacos获取规则数据。

在这里插入图片描述

构建

依赖

   <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <!--sentinel 核心环境 依赖-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        </dependency>
        <!-- Sentinel?持采? Nacos 作为规则配置数据源,引?该适配依赖 -->
        <dependency>
            <groupId>com.alibaba.csp</groupId>
            <artifactId>sentinel-datasource-nacos</artifactId>
        </dependency>

application.yml中配置Nacos数据源

server:
  port: 8100
spring:
  profiles:
    active: dev
  application:
    name: nacos-sentinel-8100
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
        # namespace + group 隔离环境
        namespace: 86614fa3-f528-44e7-95e5-265cc51feb41
        group: DEFAULT_GROUP
    sentinel:
      transport:
        dashboard: 127.0.0.1:8080 # sentinel dashboard/console地址
        port: 8100 # sentinel会在该端?启动http server,那么这样 的话,控制台定义的?些限流等规则才能发送传递过来,
                  #如果 8100 端?被占?,那么会依次+1
      datasource:
        # 此处的flow为?定义数据源名
        flow: # 流控规则
          nacos:
            server-addr: ${spring.cloud.nacos.discovery.server-addr}
            # namespace + data-id + group 定位资源配置文件
            namespace: 86614fa3-f528-44e7-95e5-265cc51feb41
            data-id: ${spring.application.name}-flow-rules
            groupId: DEFAULT_GROUP
            data-type: json
            rule-type: flow # 类型来?RuleType类
        degrade:
          nacos:
            server-addr: ${spring.cloud.nacos.discovery.server-addr}
            namespace: 86614fa3-f528-44e7-95e5-265cc51feb41
            data-id: ${spring.application.name}-degrade-rules
            groupId: DEFAULT_GROUP
            data-type: json
            rule-type: degrade # 类型来?RuleType类

management:
  endpoints:
    web:
      exposure:
        include: "*"
  # 暴露健康接口的细节
  endpoint:
    health:
      show-details: always

接口

@RestController
@RequestMapping("/api")
public class Test1Controller {

    @GetMapping("/test1")
    public String test1(String str) {
        return str +"test1 : GetMapping  " + LocalDateTime.now();
    }

    @GetMapping("/test2")
    public String test2(String str) {
        int i = 1/0;
        return str +"test2 : GetMapping  " + LocalDateTime.now();
    }
    @RequestMapping("/test3")
    public String test3(String str) {
        int i = 1/0;
        return str +"test3 : GetMapping  " + LocalDateTime.now();
    }


}

nacos中添加配置限流和熔断规则
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
属性配置说明

流量配置
在这里插入图片描述

熔断配置在这里插入图片描述

在之前自定义流量限流和熔断限流中可以知道,捕获异常规则时候类是下面这些类。
FlowRule流量控制,DegradeRule熔断规则。
在这里插入图片描述

我们重启服务后可以看到/api/test1限流规则
在这里插入图片描述
/api/test2熔断规则

在这里插入图片描述

注意

1)?个资源可以同时有多个限流规则和降级规则,所以配置集中是?个json数组。

2)Sentinel控制台中修改规则,仅是内存中?效,不会修改Nacos中的配置值,重启后恢复原来的值; Nacos控制台中修改规则,不仅内存中?效,Nacos中持久化规则也?效,重启后规则依然保持。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-05-09 12:26:14  更:2022-05-09 12:27:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:37:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码