首页 > 其他分享 >springcloud整合sentinel

springcloud整合sentinel

时间:2024-09-23 19:46:25浏览次数:8  
标签:请求 流控 springcloud jar 接口 整合 sentinel String

此处只做个简单的springcloud中添加sentinel的demo

1、下载sentinel的jar,访问网址:https://github.com/alibaba/Sentinel/releases

 

2、找到本地jar文件夹,使用cmd或者终端中打开,执行java -jar sentinel-dashboard-1.8.0.jar

 启动完成

 访问可视化页面,默认账号密码都是sentinel

 此处用的是window的sentinel版本

下面是项目中需要添加的配置:

1、添加jar

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        </dependency>

2、在application.yml中添加

spring:
  cloud:
    sentinel:
      transport:
        dashboard: 127.0.0.1:8080

3、启动项目,访问项目中任意一个controller接口,就会看到对应接口信息

 到此,springcloud的sentinel整合完成。

接下去介绍下,如何将sentinel进行配置持久化

 

 

 

 

 

 

接下去简单介绍下如何利用sentinel的dashboard控制对应接口

一、流控、降级

1、在簇点链路找到对应资源名,点击流控,选择QPS或者线程数,单位是 秒 ,设置单机阈值

流控:QPS:每秒访问数;线程数:也就是时间段内只有对应的线程数处理,超过的线程请求会等待

2、流控模式:直接、关联、链路

①直接:只针对当前资源进行流控,默认模式。

②关联:关联资源的请求超出阈值,那么会对当前资源请求有影响,比如查询和插入两个动作进行流量控制,大促的时候,保证插入成功(下单),查询稍微慢一点

 下图所示,当请求/order/add接口的时候,如果1秒请求超过2次,那么就会对/order/flowThread进行限流,请求该接口提示该接口被限流

③链路:选择链路,需要填写入口资源,对入口资源进行控制,比如某个渠道的请求进行限制访问。demo如下

@SentinelResource不止可以作用于controller接口,还能作用于serviceImpl里面的方法

1、需要在配置文件中配置

spring:
  cloud:
    sentinel:
      web-context-unify: false

2、sentinel流控配置如下

简单理解就是:/order/yyy和/order/xxx接口都是getOrder流控的接口,但前者如果每秒超过2次请求就会被流控,而后者就不会,即同一个链路,有些请求会被控制,有些请求不会

3、代码编码如下:

controller

    @GetMapping("/xxx")
    public String xxx(){
        String msg = orderService.getOrder();
        return "xxx订单 " + msg;
    }

    @GetMapping("/yyy")
    public String yyy(){
        String msg = orderService.getOrder();
        return "yyy订单 " + msg;
    }

serviceImpl

    @Override
    @SentinelResource(value = "getOrder",blockHandler = "orderBlockHandler")
    public String getOrder() {
        return "order service";
    }

    public String orderBlockHandler(BlockException e){
        return "被流控";
    }

请求后如下:

 

 

标签:请求,流控,springcloud,jar,接口,整合,sentinel,String
From: https://www.cnblogs.com/qwg-/p/18427744

相关文章

  • 本地部署Flux.1神级文生图大模型!ComfyUI一键整合包,开源,效果惊艳 Midjourney!
    你是否曾经怀揣着将脑海中奇幻世界化作精美画作的梦想?在AI绘画的领域中,工具的选择至关重要。或许你一直在寻觅一个能够替代Midjourney、DALL-E3等工具的替代品,尽管这些工具功能强大,但通常需要通过特定平台进行访问,而且可能涉及付费使用。FLUX.1是由BlackForestLabs精心研发的AI图......
  • windows 整合elk(elasticsearch、kibana、logstash)及 Java maven项目配置logback集成el
    文章目录windows版elk部署文档1、文件准备2、系统配置启动2.1、elasticsarch2.1.1、生成证书2.1.2、生成秘钥2.1.3、移动凭证2.1.4、改配置2.1.5、启动2.1.6、访问运行2.1.7、生成kibana账号2.2、kibana2.2.1改配置2.2.2启动2.2.3访问测试......
  • 滚雪球学SpringCloud[9.2讲]:CI/CD与自动化部署详解
    全文目录:前言1.持续集成与持续交付的基本概念1.1持续集成(CI)1.1.1持续集成的主要优势1.2持续交付(CD)1.2.1持续交付的主要特点1.3CI与CD的区别与联系2.使用Jenkins与GitLab实现CI/CD管道2.1使用Jenkins实现CI/CD2.1.1Jenkins简介2.1.2Jenkins的安装与配置2.1.3......
  • 滚雪球学SpringCloud[9.1讲]:Docker与容器化详解
    全文目录:前言9.1Docker与容器化Docker的基本概念与SpringBoot应用的容器化1.Docker的核心概念2.将SpringBoot应用容器化DockerCompose与微服务编排1.DockerCompose的核心概念2.使用DockerCompose编排微服务使用Kubernetes部署SpringCloud应用1.Kubernetes......
  • Redis Sentinel:秒杀系统背后的可靠性保障神器!
    哈喽,大家好呀!我是小米,今天我想和大家聊聊如何在个人项目中保证系统的可靠性,尤其是用Redis哨兵模式来保障高可用性。相信很多小伙伴在开发中遇到过Redis挂掉的情况,特别是在高并发场景下,一旦主服务器下线,整个系统可能会因此瘫痪。那我们该如何应对这个问题呢?今天就带大家深入了解......
  • SpringCloud(九)配置中心和消息总线
    ##SpringCloudBusSpringcloudbus通过轻量消息代理连接各个分布的节点。这会用在广播状态的变化(例如配置变化)或者其他的消息指令。Springbus的一个核心思想是通过分布式的启动器对springboot应用进行扩展,也可以用来建立一个多个应用之间的通信频道。目前唯一实现的方式......
  • GEE教程:利用sentinel-2数据进行ndwi和ndci指数的计算和下载
    目录简介函数normalizedDifference(bandNames)Arguments:Returns: ImageExport.image.toDrive(image, description, folder, fileNamePrefix, dimensions, region, scale, crs, crsTransform, maxPixels, shardSize, fileDimensions, skipEmptyTiles, file......
  • Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)十九(用户中
    (4)创建mapper路径(5)编写配置文件server:port:8088spring:application:name:user-servicedatasource:url:jdbc:mysql://127.0.0.1:3306/yun6username:rootpassword:rootdriver-class-name:com.mysql.jdbc.Drivereureka:client:service-url:defaultZone......
  • Rope DFM一键整合包AI换脸教程:使用DeepFaceLab模型实现专业级视频和直播换脸
    今天给大家介绍RopeDFM版本!RopeDFM是Rope软件中支持DeepFaceLab(DFL)模型训练的版本。DeepFaceLab是一款经典的AI换脸工具,它通过深度学习实现图片和视频中的人脸识别和交换。然而,想要通过DeepFaceLab获得专业级的效果,不仅难度大,时间成本也相当高,训练模型也是个不小的挑战。但如果......
  • 城市脉络下的空间句法:整合度与选择度的深度解析
    上回写过一篇,基于空间句法的路网整合度、选择度分析,当时碍于篇幅和侧重点,主要讲了如何安装sDNA这个插件来实现路网的整合度、选择度分析,并且分析部分也只是画了几条简单的线段,这次我们深化一下名词解释和空间句法的实例运用;先明确空间句法里的二个概念,选择度和整合度;选择度(......