微服务开发(四) Spring Cloud 与熔断器(Resilience4j)

本文详细介绍了微服务开发中Resilience4j的使用,包括为什么要使用熔断器、Resilience4j的简介、适用场景及具体使用方法,如断路器、限速器和舱壁隔离的配置和应用。同时,文章还探讨了Resilience4j在Spring Cloud项目中的位置,即服务调用者模块。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一.为什么要用熔断器

二.什么是Resilience4j

三.在哪里使用Resilience4j

四.怎么使用Resilience4j

1.引用Resilience4j的包

2.使用断路器

3.使用限速器(限流器)

4.使用舱壁隔离


        本章给大家介绍Resilience4j,从四个方面对Resilience4j进行阐述:Resilience4j是什么,为什么要用它,用在哪个位置以及怎么使用.也会介绍Resilience4j中常用的几个组件:断路器,限速器,舱壁隔离,限时器.

在这之前如果先了解Spring Cloud微服务还可以查看下面的几篇文章.

微服务开发(一) Spring Cloud 到底是什么?_flame.liu的博客-CSDN博客

微服务开发(二) :Spring Cloud:OpenFeign 服务调用与网关_flame.liu的博客-CSDN博客

微服务开发(三) Spring Cloud 网关gateway_flame.liu的博客-CSDN博客  

一.为什么要用熔断器

        熔断器的原理类似家庭用的电路保险丝,但电路短路或者过载时,主动切断电源,避免出现更大的问题.我们把网络也看作是一个电路,在网络中也会出现过载或者终端(服务)出现问题,那么这个使用避免出现更为严重的问题(可能由于一个服务的不可用,而导致其它服务的等待,最终造成整个服务器的崩溃),所以只能暂时先断开服务,那么这个时候就需要熔断器了.

        当然我们的网络比电路肯定要智能很多,所以在熔断之后,不像电网一样,熔断之后什么都没有了.熔断器会在熔断之后执行预设的代替方案,但是在这个过程中,我们的服务已经出现了问题,显然是没有办法达到原来预定的效果了,只能降低服务标准,这里把提供降低标准的服务称为降级.

二.什么是Resilience4j

        Resilience4j是Spring Cloud推荐的主流熔断器,之前有过一个Netflix Hystrix,但是已经不再更新了.

        Rezilience4j主要包括:

        断路器:Resilience4j-circuitbreaker

        重试器:Resilience4j-retry

        限速器:Resilience4j-ratelimiter

        舱壁隔离:Resiliience4j-bulkhead

        等多个组件,但重要的断路器,限速器,舱壁隔离这三个组件,这也是本篇文章进行讨论的三个内容.

三.在哪里使用Resilience4j

        在spring cloud项目中,代码以模块的形式集合在我们的项目中.我们大致可以分为以下几类模块:

1.eureke-server:服务管理中心模块

2.gateway:网关模块

3.common:公共通用模块

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值