微服务 熔断器

微服务 熔断器

###总结
1、LCN 分布式事务
2、重试引发的麻烦
a.retris=0,不重试,不会产生过多复杂的问题,对网络的适应性比较差
b.采用uuid,为每个调用进行编号,服务端只允许一次调用,
网络适应性比较强,带来很多复杂性
建议,在开发的初期,使用retris=0,设置不重试,到发现有瓶颈的时候,再进行其他深入优化
uuid在实际应用中是有更优美的方式
不需要再为每一个方法,增加String uuid参数
可以方法哦内置的上下文(线程变量),在调用的服务端是可以取得的

相关文档如下
https://kdocs.cn/l/sgYJFDZg1?f=111

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
具体操作如下
uuid不是通过参数传
接口已经去掉了
它传到了我们dubbo的线程变量RpcContext中
赛道这里面不会被覆盖

在这里插入图片描述

接收在这里插入图片描述
重试是一个复杂的话题,例如timeout如何设置,reties抛出异常还是返回结果,不同的场合都要不同的处理,LCN分布式事务有没有影响建议,在开发的初期,使用retris=0,设置不重试,到发现有瓶颈的时候,再进行其他深入优化
重试和超时,是可以具体到方法来定制的,不同的方法可以选择不同的重试次数和超时时间

相关文档如下
https://www.jianshu.com/p/7c45552447a6

在这里插入图片描述
熔断器

相关文档如下

https://www.kdocs.cn/l/sgYJFDZg1?f=111

在这里插入图片描述

在这里插入图片描述

第一步

在子工程account—test中
新建一个包test
在新建一个类
在这里插入图片描述

落实熔断器
拷入一个坐标

/ <hystrix.version>1.3.16</hystrix.version>
<hystrix-metrics-event-stream.version>1.1.2</hystrix-metrics-event-stream.version>
<!-- 熔断器-->
<dependency>
    <groupId>com.netflix.hystrix</groupId>
    <artifactId>hystrix-core</artifactId>
    <version>${hystrix.version}</version>
</dependency>
<dependency>
    <groupId>com.netflix.hystrix</groupId>
    <artifactId>hystrix-metrics-event-stream</artifactId>
    <version>${hystrix-metrics-event-stream.version}</version>
</dependency>

在这里插入图片描述
再在test中新建一个SayMeHyCommand类
修改一下这个类

在这里插入图片描述
制造一个熔断器
在这里插入图片描述

运行结果
在这里插入图片描述
当时间大于500毫秒时,就会被熔断
时间超过了它的限额值

在这里插入图片描述
如果方法带参数该怎么办
在这里插入图片描述
这里想办法传进来
在这里插入图片描述

运行结果
在这里插入图片描述

第二步

在web—controller中
新建一个类
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第三步

在api里创建一个hystrix的包
在创建一个MyDubboHystrixCommand
在这里插入图片描述

在这里插入图片描述

完整版
在这里插入图片描述
然后我们要去做一个dubbo的过滤器
只要你通过dubbo远程调用就必须通过它
它来加工
在这里插入图片描述

在这里插入图片描述

这里面名字是固定的只能写这个名字
com.alibaba.dubbo.rpc.Filter
在这里插入图片描述
在dubbo配置文件中增加过滤器
在这里插入图片描述
多个过滤器的话我们可以用,隔开
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值