sentinel是什么及使用

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

Sentinel 分为两个部分:

  1. 核心库(Java 客户端)不依赖任何框架/库,能够运行于所有 Java 运行时环境,同时对 Dubbo /
    Spring Cloud 等框架也有较好的支持。
  2. 控制台(Dashboard)基于 Spring Boot 开发,打包后可以直接运行,不需要额外的 Tomcat 等
    应用容器。

Sentinel 可以简单的分为 Sentinel 核心库和 Dashboard。核心库不依赖Dashboard,但是结合Dashboard 可以取得最好的效果。

基本概念:
资源:是 Sentinel 的关键概念。它可以是 Java 应用程序中的任何内容,例如,由应用程序提供的服务,或由应用程序调用的其它应用提供的服务,甚至可以是一段代码。在接下来的文档中,我们都会用资源来描述代码块。

只要通过 Sentinel API 定义的代码,就是资源,能够被Sentinel 保护起来。大部分情况下,可以使用方法签名,URL,甚至服务名称作为资源名来标示资源。

规则:围绕资源的实时状态设定的规则,可以包括流量控制规则、熔断降级规则以及系统保护规则。所有规则可以动态实时调整。
主要作用:

  1. 流量控制
  2. 熔断降级
  3. 系统负载保护

我们说的资源,可以是任何东西,服务,服务里的方法,甚至是一段代码。使用Sentinel 来进行资源保护,主要分为几个步骤:

  1. 定义资源
  2. 定义规则
  3. 检验规则是否生效

先把可能需要保护的资源定义好,之后再配置规则。也可以理解为,只要有了资源,我们就可以在任何时候灵活地定义各种流量控制规则。在编码的时候,只需要考虑这个代码是否需要保护,如果需要保护,就将之定义为一个资源。

二、sentinel的使用

  1. 官方下载jar包地址
    https://github.com/alibaba/Sentinel/releases

  2. 在doc命令窗口运行,java -jar java -jar sentinel-dashboard-xxx.jar
    然后访问:http://localhost:8080

  3. 在微服务配置文件中配置

spring:
  cloud:
    sentinel:
      transport:
        port: 8719    #8719是数据传输端口号
        dashboard: localhost:8080   #8080是访问端口号,这用localhost,别用127.0.0.1,不然访问不到
  1. 还需要在微服务中暴露sentinel的端点
management:
  endpoint:
    web:
      exposure:
        inclue: '*'   #暴露所有的端点
  1. 重启微服务
    调用微服务中的接口后,访问localhost:8080
    在这里插入图片描述
    在这里插入图片描述

三、整合feign组件

  1. 引入feign的依赖
<dependency> 
<groupId>com.alibaba.cloud</groupId> 
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> 
</dependency> 
<dependency> 
<groupId>org.springframework.cloud</groupId>
 <artifactId>spring-cloud-starter-openfeign</artifactId>
  </dependency>
  1. 在配置文件中开启sentinel对于feign的监控功能
feign:
  sentinel:
    enabled: true
  1. 给feign一个实现类
    当服务提供者出错时,直接就开启熔断。这个比以前开启feign的熔断更简单
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值