微服务(二)Sentinel限流熔断

目录

一、Sentinel简介

1.概述

2.安装Sentinel服务

3.访问Sentinel服务

 二、Sentinel限流入门

1.概述

2.sentinel集成实现

3.sentinel限流入门案例

三、Sentinel流控规则分析

1.阈值类型分析

2.设置限流模式

2.1 直接模式

2.2 关联模式

2.3 链路模式

 3.设计限流效果

 3.1 快速失败

3.2 WarmUp(预热)

3.3 排队等待

四、Sentinel降级入门

1.概述

 2.Sentinel降级操作

五、Sentinel异常处理

 六、Sentinel降级策略分析

1.慢调用比例

2.异常比例

3.异常数量

 七、Sentinel热点规则分析

1.概述

2.入门案例

3.特定参数设计

 八、Sentinel系统规则

1.概述

2.入门案例

九、Sentinel授权规则

1.概述

2.入门案例

3.案例实现


一、Sentinel简介

1.概述

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

Sentinel核心分为两个部分:

  • 核心库(java客户端):能够运行于所有 Java 运行时环境,同时对Spring Cloud 等框架也有较好的支持。
  • 控制台(Dashboard):基于 Spring Boot 开发,打包后可以直接运行。

2.安装Sentinel服务

第一步:打开sentinel下载网址

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

第二步:下载jar包(可以存储到一个sentinel目录),如图

 

第三步:在sentinel对应目录,打开命令行(cmd),启动运行sentinel

java -Dserver.port=8180 -Dcsp.sentinel.dashboard.server=localhost:8180 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.0.jar

3.访问Sentinel服务

第一步:假如Sentinel启动ok,通过浏览器进行访问测试,如图

第二步:登录sentinel,默认用户名和密码都是sentinel

 二、Sentinel限流入门

1.概述

数据库连接池、线程池等在使用时都会跟定一个限定的值,这就是限流的一种设计。限流的目的防止恶意请求流量、恶意攻击,或者防止流量超过系统峰值。

2.sentinel集成实现

第一步:sentinel应用于服务消费方(Consumer),在消费方添加依赖如下

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

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

 第二步:打开服务消费方配置文件application.yml,添加sentinel配置

spring:
  cloud:
    sentinel:
      transport:
         port: 8099 #跟sentinel控制台交流的端口,随意指定一个未使用的端口即可
         dashboard: localhost:8180 # 指定sentinel控制台地址。

 第三步:启动服务提供者,服务消费者,然后在浏览器访问消费者url,如图

在这里插入图片描述

第四步:刷新sentinel控制台,检测服务列表,如图

在这里插入图片描述

注:Sentinel的控制台其实就是一个SpringBoot编写的程序,我们需要将我们的服务注册到控制台上,即在微服务中指定控制台的地址,并且还要在消费端开启一个与sentinel控制台传递数据端的端口,控制台可以通过此端口调用微服务中的监控程序来获取各种信息。

3.sentinel限流入门案例

我们设置一下指定接口的流控(流量控制),QPS(每秒请求次数)单机阈值为1,代表每秒请求不能超出1次,要不然就做限流处理,处理方式直接调用失败。

第一步:选择要限流的链路,如图

 第二步:设置限流策略

在这里插入图片描述

第三步:反复刷新访问消费端服务,检测是否有限流信息输出

在这里插入图片描述

三、Sentinel流控规则分析

1.阈值类型分析

  • QPS(Queries Per Second):当调用相关url对应的资源时,QPS达到单机阈值时,就会限流。

  • 线

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值