sentinel的基本使用

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

在一些互联网项目中高并发的场景很多,瞬间流量很大,会导致我们服务不可用。

sentinel则可以保证我们服务的正常运行,提供限流、熔断、降级等方法来实现
 

一.限流:

        1.导入坐标

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

         2.配置

spring:
  cloud:
    sentinel:
      transport:
        port: 8179
        dashboard: 127.0.0.1:8333

        3.下在sentinel对应的版本服务并启动

        4.按照界面操作

sentinel的基本使用,sentinel 

 

二.熔断降级 

       开启熔断之后,实现远程调用的接口并实现方法(在方法内定义熔断之后的返回值),通过fallback指定实现类则完成简单服务的调用方熔断。

feign:
  sentinel:
    enabled: true   # 开启远程的熔断
@FeignClient(value = "product",fallback = ProductFeignBack.class)
public interface ProductFeignService {

    @GetMapping("/sentinelFeign")
    String sentinelFeign();
}


@Slf4j
@Component
public class ProductFeignBack implements ProductFeignService {

    @Override
    public String sentinelFeign() {
        log.info("被降级了....");
        return "error";
    }
}


三.网关限流

在前面的提到的限流是针对服务本身的限流,在sentinel里面也支持网关的限流,这样请求直接在网关就被拦截,不会到指定的服务才被拦截。

实现网关的限流也非常简单,导入坐标然后直接操作界面就行
 

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

sentinel的基本使用,sentinel

 

四.链路追踪+zipkin界面展示

在前面的操作中不管是限流还是熔断降级,我们目的是为了保证在高并发的情况下服务能正常运行。

但是在实际的业务中我们一个功能的实现需要调用多个服务才能实现功能,那在服务调用的过程中我们怎样分析查看各个服务的执行时间或者是否成功,以便后期我们分析优化。链路追踪就很好的帮我们完成该统计。zipkin通过界面化的展示更加直观清晰

实现步骤:

 <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-sleuth</artifactId>
        </dependency>
logging:
  level:
    org:
      springframework:
        cloud:
          openfeign: debug
          sleuth: debug

在通过导入坐标和配置之后,我们就可以通过日志的方式查看链路,但是实际的实际的生产环境中我们不可能根据日志查看链路。我们可以通过zipkin界面的方式查看。

zipkin的实现步骤: 

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zipkin</artifactId>
        </dependency>
注意:导入zipkin坐标之后,sleuth坐标就可以不用导入了,因为里面包括了sleuth
spring:
  zipkin:
    base-url: http://192.168.127.129:9411
    discovery-client-enabled: false  # 关闭服务发现 佛欧泽cloud会把zipkin的url当服务名称
    sender:
      type: web  # 设置http的方式传输数据
  sleuth:
    sampler:
      probability: 1   # 设置抽样采集率和100%  默认10%

在导入坐标和配置之后,还需要下载并启动zipkin的服务,因为链路追踪可视化的数据来源于zipkin的服务,最终通过访问zipkin的服务就可以通过界面的方式查看到每一次访问的链路情况。文章来源地址https://www.toymoban.com/news/detail-669637.html

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

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

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

相关文章

  • sentinel简单使用

    核心demo: 1 引入依赖:   3 限流保护代码: 以上就是sentinel最核心的代码使用逻辑。可以在代码中硬编码需要保护的资源,然后在调用资源之前使用Api做限流保护。 在实际使用过程中,几乎不会使用如上方式做资源保护:代码侵入性强,不能动态扩展需要保护的资源 使用注

    2024年02月14日
    浏览(14)
  • Sentinel使用实例

    不说了,直接上官方文档 https://github.com/alibaba/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/readme-zh.md 本项目演示如何使用 Sentinel starter 完成 Spring Cloud 应用的限流管理。 Sentinel 是阿里巴巴开源的分布式系统的流量防卫组件,Sentinel 把流量作为

    2024年02月13日
    浏览(16)
  • 【SpringCloudAlibaba】Sentinel使用

    https://github.com/alibaba/Sentinel 中文: https://github.com/alibaba/Sentinel/wiki/%E4%BB%8B%E7%BB%8D https://sentinelguard.io/zh-cn/docs/introduction.html 服务雪崩 服务降级 服务熔断 服务限流 https://github.com/alibaba/Sentinel/releases Sentinel采用的懒加载 直接(默认) 资源名:默认rest路径名 来源:默认 关联 当与

    2024年02月10日
    浏览(33)
  • Sentinel 容灾中心的使用

    Nacos环境搭建 Nacos注册中心的使用 Nacos配置中心的使用 生产者 spring-cloud-alibaba:2021.0.4.0 spring-boot:2.6.8 spring-cloud-loadbalancer:3.1.3 sentinel:2021.0.4.0 消费者 生产者 消费者 【资源】是sentinel限流、熔断的基本单位,可以设置每个资源的阈值。 控制层 其中echo方法使用注解形式定

    2024年02月15日
    浏览(21)
  • 7、sentinel使用和源码分析

    在分布式系统中,由于网络原因或自身的原因,服务一般无法保证 100% 可用。如果一个服务出现了问题,调用这个服务就会出现线程阻塞的情况,此时若有大量的请求涌入,就会出现多条线程阻塞等待,进而导致服务瘫痪。 由于服务与服务之间的依赖性,故障会传播,会对整个

    2024年02月16日
    浏览(26)
  • sentinel + nacos 超详细使用步骤

    首先在sentinel-dashboard这个连接中下载对应的jar包。 下载完成后, 使用下面命令进行启动 看到一下日志表示启动成功(这里暂时没有遇到过启动失败的情况,又遇到失败的朋友可以评论沟通一下) 登录页面 sentinel首页,这里因为还没有在sentinel-dashboard接入,所以还看不到我们

    2023年04月08日
    浏览(32)
  • 如何使用Sentinel做流量控制?此文将附代码详细介绍Sentinel几种限流模式

    前言:大家好,我是小威,24届毕业生,在一家满意的公司实习。本篇文章将详细介绍Sentinel的两种限流模式,由于篇幅原因,后续文章将详细介绍Sentinel的其他三种。 如果文章有什么需要改进的地方还请大佬不吝赐教 👏👏。 小威在此先感谢各位大佬啦~~🤞🤞 🏠个人主页

    2024年02月05日
    浏览(31)
  • 微服务下使用sentinel进行服务熔断

    首先引入sentinel对应依赖 下面是示例service代码,通过openFeign完成服务调用 首先需要配置openFeign的服务调用失败的策略,需要对对应的feign接口实现策略失败类 然后在feign的调用接口处,执行熔断策略实现类(fallback) 然后需要下载阿里的sentinel-dashboard,启动控制台,并在该服务的配置

    2024年04月16日
    浏览(25)
  • sentinel加密狗使用及规则配置

    Sentinel加密狗是一种硬件加密设备,用于保护软件应用程序免受未经授权的访问和复制。它可以提供软件许可管理、访问控制和数据保护等功能。下面是Sentinel加密狗的使用及规则配置的相关介绍。 Sentinel加密狗的使用 插入加密狗:将Sentinel加密狗插入计算机的USB接口。 安装

    2024年02月09日
    浏览(35)
  • SpringCloud中 Sentinel 限流的使用

    引入依赖 手动编写限流规则,缺点是不够灵活,如果需要改变限流规则需要修改源码 利用控制台编写限流规则,控制台是额外的Java项目,需要运行起来,优点是不需要修改源码,可以运行时修改限流规则,启动后访问 localhost:18080即可,需要注意的时,控制台一开始并不会显

    2024年02月13日
    浏览(32)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包