详解sentinel使用

这篇具有很好参考价值的文章主要介绍了详解sentinel使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.概述

2.下载安装

3.应用托管

4.流量控制

4.1.流控规则

4.2.流控模式

4.2.1.直接模式

4.2.2.关联模式

4.2.3.链路模式

4.3.流控效果

4.3.1.预热

4.3.2.排队等待

5.降级

5.1.降级规则

5.2.降级策略

5.2.1.RT

5.2.2.异常比例

5.2.3.异常数


1.概述

sentinel,springcloud alibaba中对标springcloud Netflix中的hystrix的组件,是一个强大的分布式系统保护工具,通过流量控制、熔断降级和系统负载保护等机制,保障了微服务架构的稳定性和可用性。它是Spring Cloud生态系统中的重要组件之一,被广泛应用于微服务开发和运维中。阿里每年的“双十一”,sentinel就是提供分布式保护机制的核心组件之一。

hystrix的缺点:

  1. 没有自带监控平台,需要整合配置dashboard实现监控
  2. 没有图形化界面提供配置,只能在代码层编码实现流控、降级、熔断。

sentinel的优点:

  1. 单独一个组件,提供图形化界面
  2. 提供图形化界面进行流控、降级、熔断配置。

2.下载安装

下载地址:

https://github.com/alibaba/Sentinel/releases

sentinel分为两部分:

  1. 核心库,是个JAVA客户端,提供限流、降级、熔断等功能
  2. 控制台,基于SpringBoot实现的dashboard,完成监控功能。

两者都集成在一个jar包中,运行jar包即可运行起两块功能。

详解sentinel使用

页面地址:localhost:8080

默认用户名、密码:sentinel sentinel

详解sentinel使用

3.应用托管

在应用一侧引入sentinel的依赖,配置好sentinel的地址以及与sentinel的通信端口,即可将应用托管给sentinel进行监控。

依赖:

<dependency>
   <groupId>com.alibaba.cloud</groupId>
   <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
   <version>${version}</version>
</dependency>

配置:

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

懒加载:

sentinel采用懒加载机制,未被访问过的服务不会被监控,只有被访问过的服务才会被纳入监控。

详解sentinel使用

4.流量控制

4.1.流控规则

在sentinel的流控规则中可以进行流控的规则设置。

资源名:URL,要求必须全局唯一。

阈值类型:限制线程数?限制每秒访问数?

单机阈值:每台机器的访问阈值

流控模式、流控效果:设置响应的方式。

详解sentinel使用

4.2.流控模式

4.2.1.直接模式

详解sentinel使用

超过阈值后会直接给出一个处理方式:

此处设置的是“快速失败”,直接给出一个响应。

详解sentinel使用

4.2.2.关联模式

当自己所关联的资源到达阈值以后,限流自己。

即当与A关联的资源B达到阈值以后,限流A。

防止连坐效应造成关联业务宕机。

详解sentinel使用

4.2.3.链路模式

链路模式需要配合簇点链路一起使用,

簇点链路里有一条默认的链路,链路下有当前系统中的所有访问路径。

详解sentinel使用

链路模式即是除了通过资源名的访问会被流控以外,链路中的其他服务调用流控的资源名也会受到所配置的流控规则所限制。

详解sentinel使用

4.3.流控效果

4.3.1.预热

预热(warm up),即预热/冷启动,

即不直接让系统去面对极限流量,而是当流量在达到所设定阈值的一个百分比时,系统拒绝所有流量,用一段时间来热身,热身完毕后再去面对极限流量。

这个阈值的百分比和一个系数相关——冷却因子(cold  factor)。冷却因子默认为3,即当瞬间流量达到阈值的1/3的位置时,系统会在后续的一段时间拒绝掉后续的流量(拒接的形式是直接返回一个响应),然后在这段时间里“预热”,预热完毕后再去处理极限流量。

这段“预热时间”可以动态配置,单位:秒。

详解sentinel使用

4.3.2.排队等待

排队等待,让并发过来的请求排队匀速通过,适用于间隔性的突发流量峰值。涌过来的请求积压排队,利用间隔时间来逐渐放行。间隔时间默认500毫秒。

详解sentinel使用

排队等待只处理QPS,每次只放行阈值数量的请求,超时未处理的请求直接返回响应,超时时间单位为毫秒。

5.降级

sentinel将熔断和降级揉在了一起,直接用熔断的方式来实现了降级。

5.1.降级规则

在sentinel的降级规则中可以进行降级的规则设置。

详解sentinel使用

5.2.降级策略

5.2.1.RT

RT(新版本改名叫做“慢比列调用”),平均响应时间。

详解sentinel使用

当一秒内有5个以上的请求进来,降级规则被唤醒,当进来的所有请求中有超过30%的请求响应时间超过1000ms,触发服务熔断,打开断路器,熔断时长20秒,此期间内对还想进来的请求快速返回一个响应,20秒以后,向服务发送探测信号,尝试闭合断路器。

5.2.2.异常比例

详解sentinel使用

1秒内超过3个请求进来,唤醒降级规则,进来的请求里有超过30%的请求产生异常,触发熔断,断路器打开,熔断时长10秒,此期间内对还想进来的请求返回一个快速响应,10秒以后重新探测,尝试闭合断路器。

5.2.3.异常数

详解sentinel使用

1分钟内超过3个请求进来,触发降级策略,所有请求中异常数如果超过阈值则触发熔断。文章来源地址https://www.toymoban.com/news/detail-502829.html

到了这里,关于详解sentinel使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Maven 概述及下载安装

    我们构建一个项目需要用到很多第三方的类库,就需要引入大量的jar包,并且Jar包之间的关系错综复杂,缺少任何一个Jar包都会导致项目编译失败。Maven 能帮助我们下载及管理依赖。 本地项目代码开发完成后,我们需要本地编译,打包,部署,然后进行测试。代码推送到远端

    2024年02月06日
    浏览(38)
  • Zeal下载安装及使用步骤(图文详解)

    Zeal下载安装及使用步骤(图文详解)_zeal使用教程_斜键仙的博客-CSDN博客

    2024年02月12日
    浏览(35)
  • 在Copernicus Data Space Ecosystem下载Sentinel数据及使用脚本检索和下载数据

    建了一个QQ群,大家可以在里边聊聊水色遥感数据下载和数据处理方面的事情:1087024529 最近使用Sentinelsat库在Copernicus Open Access Hub下载Sentienl数据时发现,数据总是处于offline状态,并且下载缓慢,一直以为是欧空局服务器不行。但进到Copernicus Open Access Hub官网发现,原来是Co

    2024年02月07日
    浏览(107)
  • 详解sentinel使用

    目录 1.概述 2.下载安装 3.应用托管 4.流量控制 4.1.流控规则 4.2.流控模式 4.2.1.直接模式 4.2.2.关联模式 4.2.3.链路模式 4.3.流控效果 4.3.1.预热 4.3.2.排队等待 5.降级 5.1.降级规则 5.2.降级策略 5.2.1.RT 5.2.2.异常比例 5.2.3.异常数 sentinel,springcloud alibaba中对标springcloud Netflix中的hystri

    2024年02月11日
    浏览(27)
  • 修改npm全局安装的插件(下载目录指向)

    我们先打开终端 然后执行 查看npm 的下载地址 一般都会在C盘 但是 我们都知道 C盘下东西多了是很不好的 所以 我们可以执行 将 npm 的下载地址 改变成 E盘下的 npmfile目录 这样 以后 默认全局安装的插件就会都到这个地址下了 执行完之后 我们再次执行 查看到的就是我们刚才设

    2024年02月07日
    浏览(60)
  • Visual Studio 2022 从下载安装到如何使用的全面讲解 (图文详解)

    🎬 鸽芷咕 :个人主页  🔥 个人专栏 :《C语言初阶篇》 《C语言进阶篇》 ⛺️生活的理想,就是为了理想的生活!    🌈 hello! 各位宝子们大家好啊,相信很多C语言的初学者,都在为学C语言用那个软件而发愁!    ⛳️ 那么今天就给大家推荐这款软件, Visual Studio 202

    2024年02月16日
    浏览(57)
  • Python自动化测试 环境搭建 Selenium、WebDriver下载、安装、配置、基本使用详解

    基本于Python语言 和 Selenium框架,使用PyCharm 开发环境,详细介绍自动化测试环境的搭建 以及 基本的使用方法。 Python环境目前已被大部分主流操作系统所支持,比如在Linux、Mac、Unix等系统上就自带了Python环境,但在Windows系统上目前还需要自己安装,(当然如已经安装过了的话

    2024年02月03日
    浏览(72)
  • Docker介绍下载安装、制作镜像及容器、做目录映射、做端口映射

    在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是

    2023年04月12日
    浏览(55)
  • Redis应用(2)——Redis的项目应用(一):验证码 ---> UUID到雪花ID & JMeter高并发测试 & 下载安装使用

    1.验证码:如何生成一个唯一的ID; 2.UUID和雪花ID,雪花ID递增趋势,纯数字; 3.验证码应用,生成验证码,过期时间,存redis,前端显示; 4.JMeter高并发测试,官网下载,汉语设置; 5.JMeter的使用方法; 凡是和抢相关的,redis+MQ 1)UUID(Universally Unique Identifier,通用唯一识别码

    2024年02月16日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包