Dubbo 的服务请求失败怎么处理?

(本文引自mic老师面试题)
今天分享的面试题,几乎是 90%以上的互联网公司都会问到的问题。
“Dubbo 的服务请求失败怎么处理”?
对于这个问题,我们来看一下普通人和高手的回答。
普通人
嗯… 我记得, Dubbo 请求处理失败以后,好像是会重试。 嗯!
高手
Dubbo 是一个 RPC 框架,它为我们的应用提供了远程通信能力的封装,同时,Dubbo
在 RPC 通信的基础上,逐步在向一个生态在演进,它涵盖了服务注册、动态路由、容
错、服务降级、负载均衡等能力,基本上在微服务架构下面临的问题,Dubbo 都可以
解决。
而对于 Dubbo 服务请求失败的场景,默认提供了重试的容错机制,也就是说,如果基
于 Dubbo 进行服务间通信出现异常,服务消费者会对服务提供者集群中其他的节点发
起重试,确保这次请求成功,默认的额外重试次数是 2 次。
除此之外,Dubbo 还提供了更多的容错策略,我们可以根据不同的业务场景来进行选
择。
1. 快速失败策略 ,服务消费者只发起一次请求,如果请求失败,就直接把错误抛出去。
这种比较适合在非幂等性场景中使用
2. 失败安全策略 ,如果出现服务通信异常,直接把这个异常吞掉不做任何处理
3. 失败自动恢复策略 ,后台记录失败请求,然后通过定时任务来对这个失败的请求进
行重发。
4. 并行调用多个服务策略 ,就是把这个消息广播给服务提供者集群,只要有任何一个
节点返回,就表示 请求执行成功
5. 广播调用策略 ,逐个调用服务提供者集群,只要集群中任何一个节点出现异常,就 表示本次请求失败要注意的是,默认基于重试策略的容错机制中,需要 注意幂等性的处理 ,否则在事务型
的操作中,容易出现多次数据变更的问题。
以上就是我对这个问题的理解!
结尾
这类的问题,并不需要去花太多时间去背,如果你对于整个技术体系有一定的了解,你
就很容易想象到最基本的处理方式。
即便是你对 Dubbo 不熟悉,也能回答一两种
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值