SpringCloud Alibaba - 基于 FeignClient 整合 Sentinel,实现“线程隔离”和“熔断降级”

33 篇文章 14 订阅 ¥9.90 ¥99.00

目录

一、FeignClient 整合 Sentinel

1.1、整合原因

1.2、实现步骤

1.2.1、修改 OrderService 中的  application.yml 文件

1.2.2、给 FeignClient 编写失败后的降级逻辑

二、线程隔离

2.1、线程隔离的两种方式

2.1.1、线程池隔离

2.1.2、信号量隔离(Sentinel 默认采用方式)

2.2、实现线程隔离(舱壁模式)

a)添加流控规则

b)使用 JMeter 进行测试

c)分析结果

三、熔断降级

3.1、什么是熔断降级

3.2、熔断策略——慢调用

a)在 Sentinel 上给远程调用添加降级规则

b)在浏览器中连续刷新,分析结果

3.3、熔断策略——异常比例、异常数

a)在 Sentinel 上给远程调用添加降级规则

b)在浏览器中连续刷新,分析结果


一、FeignClient 整合 Sentinel


1.1、整合原因

前面我们学习到的限流虽然可以避免因高并发引起的服务故障,但是服务还是可能会因为其他原因故障.  如果要将这些故障控制住,避免雪崩,就需要靠线程隔离和熔断降级的了.

但不管是线程隔离还是熔断降级,都是对 客户端(调用方)的保护,避免服务的调用者被故障的服务拖垮,因此我们要就需要在微服务发起远程调用的时候去做隔离和降级,也就是说通过 Feign 整合 Sentinel 去做 隔离和降级.

1.2、实现步骤

1.2.1、修改 OrderService 中的  application.yml 文件</

spring-cloud-starter-alibaba-sentinel是一款用于微服务架构中实现流量控制、熔断降级、系统负载保护等功能的API库。 首先,它可以实现流量控制,通过设置限流规则,对微服务进行限制,避免大量请求进入服务,导致服务不可用或资源耗尽。可以设置QPS、线程数、并发数等限制条件,对请求进行控制,保障系统的稳定性。 其次,它还支持熔断降级功能。当微服务出现异常或超时时,它会根据预设的熔断规则,将服务降级,避免故障的扩散。可以通过设置异常比例、异常数等规则,对服务进行自动降级,保障系统的可用性。 另外,它还支持系统负载保护功能。通过设置系统负载的阈值,当系统负载超过一定限制时,它会自动出发保护机制,拒绝服务请求,保护系统免受过载的影响。可以设置CPU使用率、内存使用率等指标来判断系统负载情况,保持系统的稳定运行。 此外,spring-cloud-starter-alibaba-sentinel还提供了实时监控、统计和报警功能,可以通过可视化的控制台查看服务的运行状态和性能指标,及时发现问题并进行相应的调整和优化。 总之,spring-cloud-starter-alibaba-sentinel是一款功能强大的API库,可以帮助开发人员在微服务架构中实现流量控制、熔断降级、系统负载保护等功能,确保系统的稳定性和可用性。它可以有效地保护系统不受高流量、异常情况和系统负载的影响,提高系统的弹性和可扩展性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈亦康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值