[Sentinel2]-Sentinel介介绍

1.2.1.Sentinel 是什么

Sentinel (分布式系统的流量防卫兵) 是阿里开源的一套用于服务容错的流量控制框架。它以流量为切入点, 从流量控制、熔断降级等多个维度来保护服务的稳定性。

官方网站:quick-start | Sentinel

1.2.2.Sentinel的主要功能

Sentinel的主要功能就是容错,主要体现为下面这两个方面:

  • 流量控制

    • 监控QPS:调用该接口的QPS达到阈值的时候进行控制(不被上游服务压垮)

  • 监控线程数:给每个接口分配独立线程数,出现故障时能将问题隔离在内部而不扩散(不被下游服务拖垮)

  • 熔断降级

    某个资源出现慢调用比例异常比例超出阈值的时候,则暂时切断对下游服务的调用,避免级联故障

总之一句话,我们需要做的事情,就是在Sentinel的资源上配置各种各样的规则,来实现各种容错的功能:

1.2.3.Sentinel的安装和启动

Sentinel 提供一个轻量级的控制台, 它提供资源实时监控以及规则管理等功能。

  1. 下载地址:Release v1.8.3 · alibaba/Sentinel · GitHub

2.执行命令:java -jar sentinel-dashboard-1.8.3.jar

3.浏览器访问:http://localhost:8080,默认账号密码:sentinel/sentinel

1.2.4.Sentinel接入控制台

1.2.4.1.order-service

1.2.4.1.1.pom.xml

<!-- sentinel启动器 -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>

1.2.4.1.2.application.yml

spring:
  cloud:
    sentinel:
      transport:
        dashboard: 127.0.0.1:8080 #指定sentinel的地址

1.2.4.1.3.controller

/**
 *被保护的逻辑
 */
@RequestMapping(value = "/hello")
public String hello() {
    return "Hello Sentienl!!!";
}

1.2.4.2.测试

  1. 流量监控:sentinel是懒加载,需要浏览器访问:http://localhost:8002/hello

​​​​​​​

  1. 新增流控规则

 

QPS:代表每秒的访问次数,只要访问次数到达一定的阈值,则进行限流操作

  1. 高并发访问:http://localhost:8002/hello

 

猜你喜欢

转载自blog.csdn.net/listeningdu/article/details/128584091