Alibaba Sentinel dashboard 的入门使用

简介: 使用简单的案例和文字说明快速入门Alibaba Sentinel dashboard
  • 前言

随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。

sentinel dashboard可以通过页面图形化的方式监控机器以及服务的运行情况和配置复杂的各种流控、降级等规则,以保证线上服务的稳定运行,本篇文章主要是介绍控制台参数意义和使用规则,达到快速使用的目的

sentinel控制台下载


  • 对于sentinel而言,应用服务以及服务接口,服务器资源等都看做是资源,而sentinel所做的事情就是包含这些资源


  • 开局一张图,内容往下排

image.png

怎么把项目和控制台run起来可以看


先介绍第部分:

  • 实时监控:图形化界面显示接口(资源)的访问情况,主要是图表形式,图是线图,表内容有通过(拒绝QPS)响应时间等
  • 簇点链路:也就是上图信息,显示详细的资源以及调用链路信息,可以对相应的资源进行一系列的流控、熔断降级等操作,接下来会对这些信息进行说明和配置使用
  • 流控规则、熔断规则、热点规则、授权规则:和簇点链路里面资源的区别是需要手动添加资源名
  • 系统规则:对服务器资源的控制
  • 机器规则:对sentinel客户端集群配置的规则
  • 机器列表:机器的名称、IP地址、通信端口号、客户端版本号、健康状态、心跳时间等


接下来介绍第部分:

  • 流控规则

image.png

  • 资源名:可以简单的理解为接口名称,实际上可以是任何一段被保护起来的代码段,把这段被保护的代码起的一个资源名称
  • 针对来源:默认值:default,对所有来源进行流控,也可以指定某个微服务进行流控。需要在对应微服务配置文件进行配置名称,然后填写在这里(和微服务名称没有关联)
  • 阈值类型:QPS和并发线程数,对应的源码中FlowRule规则,单机阈值填写数值。当超过该值时,触发流控规则
  • 流控模式:
  • 直接:只对当前资源名进行流控
  • 关联:对当前资源所关联的资源超过阈值的时候,会对当前资源进行流控
  • 链路:对入口资源设置的值进行流控
  • 流控效果:
  • 快速失败:直接响应失败,如浏览器访问接口时页面直接写出:Blocked by Sentinel (flow limiting)
  • Warm Up:预热模式,大量线程访问的时候,举个例子,该模式下单机阈值配置为20的时候,会从3(默认)经过一端时间上升到10
  • 这个时间端由预热时长进行配置(单位秒)(Warm Up选中就会在页面出现)
  • 排队等待:请求或者线程排队进行访问,默认是1秒内  单机阈值设置为10的时候,相当于100ms内有一个请求通过(当前场景不支持QPS大于1000的场景 )
  • 超时时间:单位毫秒,排队超时的请求会被拒绝,所以为了避免请求被拒绝,该值需要适当的配置大一点


  • 熔断规则

image.png

  • 资源名:受保护的资源的名称
  • 熔断策略:
  • 慢调用比例
  • 最大RT:设置最大响应时间。超过就算慢调用
  • 比例阈值:当时间窗口内统计的慢调用占总调用的比例超过该设置的值得时候,触发熔断机制
  • 异常比例
  • 比例阈值:当时间窗口内统计的异常次数占总调用的比例超过该设置的值得时候,触发熔断机制
  • 异常数
  • 异常数:当时间窗口内统计的异常次数超过该设置的值得时候,触发熔断机制
  • 最小请求数:所以以上规则都需要满足这个条件的才可以,默认是5
  • 熔断时长:触发熔断时持续时长,(超过这个时间之后,处于半开状态。后续访问不触发熔断时,可以自己修复)
  • 统计时长:设置一个时间窗口用于统计


  • 热点规则

image.png

  • 热点规则需要搭配@SentinelResource注解使用
  • 资源名:是使用@SentinelResource注解定义的名称
  • 参数索引:调用被保护的资源时传入的参数的索引位置,指定索引位置来指定热点参数;举个例子:当只有一个参数时,参数索引应该配置为0
  • 参数类型:参数对应的基本数据类型
  • 参数值:根据该设置值,作为热点参数值进行保护 (如商品的唯一标识作为参数时)
  • 限流阈值:当QPS模式下,超过该设置的值得时候,会触发资源保护
  • 单机阈值:这个是当前接口资源(其他参数值时)超过了单机阈值,也会触发保护机制


  • 系统规则

image.png

  • 阈值类型
  • LOAD:在Linux类型的服务器才能生效,使用的是服务器上的load1指标进行自适应触发系统保护
  • RT:入口处所有的接口响应时长的平均RT超过设置的阈值时,触发系统规则,阈值单位默认是ms
  • 线程数:单机上总的入口处的线程数超过阈值的时候,会触发系统规则保护
  • 入口QPS:单机上总的入口处QPS总数,当超过设定的阈值的时候,触发系统规则进行保护
  • CPU使用率:机器上的CPU使用率超过阈值时,就会触发系统规则,阈值设置范围是[0-1]
  • 阈值
  • 对应类型设置的数值,超过该值时,是会触发系统规则的


  • 授权规则

image.png

  • 资源名:受保护的资源名称
  • 流控应用:调用方的名称
  • 需要在业务代码中使用filter或者interceptor中拦截判断 可以实现RequestOriginParser接口进行判断
  • 访问链接带上k=v   v即是流控应用中配置的值
  • 授权类型:
  • 白名单:可以调用指定的资源名对应的资源
  • 黑名单:不可以调用指定的资源名对应的资源
相关文章
|
23天前
|
算法 Java API
Sentinel学习圣经:从入门到精通 Sentinel,最全详解 (40+图文全面总结)
尼恩给大家做一下系统化、体系化的梳理,联合社群小伙伴,来一个Sentinel学习圣经:从入门到精通Sentinel。
|
6月前
|
监控 Java 应用服务中间件
【微服务系列笔记】Sentinel入门-微服务保护
Sentinel是一个开源的分布式系统和应用程序的运维监控平台。它提供了实时数据收集、可视化、告警和自动化响应等功能,帮助用户监控和管理复杂的IT环境。本文简单介绍了微服务保护以及常见雪崩问题,解决方案。以及利用sentinel进行入门案例。
191 3
|
6月前
|
Java API Nacos
第十二章 Spring Cloud Alibaba Sentinel
第十二章 Spring Cloud Alibaba Sentinel
253 0
|
6月前
|
SQL SpringCloudAlibaba Sentinel
【八】SpringCloud Alibaba之整合Sentinel(实现流量控制3)
【八】SpringCloud Alibaba之整合Sentinel(实现流量控制3)
93 2
|
6月前
|
SpringCloudAlibaba Sentinel 索引
【九】SpringCloud Alibaba之整合Sentinel(实现热点控制)
【九】SpringCloud Alibaba之整合Sentinel(实现热点控制)
77 1
|
6月前
|
SpringCloudAlibaba 监控 Java
SpringCloud Alibaba微服务-- Sentinel的使用(保姆级)
SpringCloud Alibaba微服务-- Sentinel的使用(保姆级)
|
6月前
|
Java Nacos Sentinel
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
809 0
|
6月前
|
SpringCloudAlibaba 监控 Java
SpringCloud Alibaba Sentinel实现熔断与限流--学习笔记
SpringCloud Alibaba Sentinel实现熔断与限流--学习笔记
108 0
|
3月前
|
Java UED Sentinel
微服务守护神:Spring Cloud Sentinel,让你的系统在流量洪峰中稳如磐石!
【8月更文挑战第29天】Spring Cloud Sentinel结合了阿里巴巴Sentinel的流控、降级、熔断和热点规则等特性,为微服务架构下的应用提供了一套完整的流量控制解决方案。它能够有效应对突发流量,保护服务稳定性,避免雪崩效应,确保系统在高并发下健康运行。通过简单的配置和注解即可实现高效流量控制,适用于高并发场景、依赖服务不稳定及资源保护等多种情况,显著提升系统健壮性和用户体验。
85 1
|
5月前
|
监控 Java Sentinel
使用Sentinel进行服务调用的熔断和限流管理(SpringCloud2023实战)
Sentinel是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。
151 3