Spring Cloud 第十四天

Sentinel之服务熔断与@SentinelResource属性进一步说明


Sentinel整合Ribbon和+@SentinelResource的fallback


在这里插入图片描述

演示图示

在这里插入图片描述

服务提供者


在这里插入图片描述

服务消费者

在这里插入图片描述

改yml

在这里插入图片描述

业务类


在这里插入图片描述

Controller(fallback用于程序运行时的异常,blockHanlder用于管理配置异常)

在这里插入图片描述

测试

在这里插入图片描述

在配置@SentinelResource时把这两个(fallback 用于程序运行时的异常,blockHanlder 用于管理配置异常)都配置上会怎么样?

Controller的改变


在这里插入图片描述

配置Sentinel(为了blockHandler配个限流服务降级)


在这里插入图片描述

测试:

1、当我们发送在服务限流的条件内(1S访问一次)有java运行时错误的请求时:(走的是fallback)

在这里插入图片描述

2、当我们发送超过了服务限流的条件内(1S访问二次)有java运行时错误的请求时:(走的是blockHanlder)


在这里插入图片描述



@SentinelResource 忽略异常属性exceptionsToIgnore


在这里插入图片描述


测试:


在这里插入图片描述

Sentinel整合OpenFeifn



演示流程图

在这里插入图片描述

修改Yml

在这里插入图片描述


主启动

在这里插入图片描述

Controller的修改

在这里插入图片描述

Service服务接口上加上@FeignClient注解

在这里插入图片描述


实现这个接口(fallback兜底方法)


在这里插入图片描述

测试


正确访问



在这里插入图片描述

当把9003微服务提供者关闭,错误访问走实现接口类中的兜底方法


在这里插入图片描述

熔断框架的比较

在这里插入图片描述

Sentinel之规则持久化


目的
・ 为了解决当微服务关闭时Sentinel中的服务规则消失的问题

在这里插入图片描述


总体步骤

在这里插入图片描述
在这里插入图片描述

1、改pom

在这里插入图片描述

2、改Yml


在这里插入图片描述

3、进入Nacos添加配置:




在这里插入图片描述




解释json中的词


在这里插入图片描述

在这里插入图片描述

4、重启8401刷新Sentinel发现流控规则自己已经生成


在这里插入图片描述

到这里配置Sentinel持久化完成




总结


・今天主要就是学习了Sentinel整合Ribbon和+@SentinelResource的fallbackSentinel整合OpenFign进行服务熔断。
还有就是进一步了解了 @SentinelResource 中的属性fallback用于程序运行时的异常,blockHanlder用于管理配置异常,如果把fallback、blockHanlder同时配置上,当我们发送在服务限流的条件内(1S访问一次)有java运行时错误的请求时:(走的是fallback),当我们发送超过了服务限流的条件内(1S访问二次)有java运行时错误的请求时:(走的是blockHanlder)。
exceptionsToIgnore属性能够忽略异常处理不走fallback方法。
还有就是Sentinel中配置持久化到Nacos,看上面案例说明。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值