dubbo重试机制原理_9,Dubbo的超时容错机制

1 超时机制是一种保护机制。

假设A服务调用B服务,而B服务出现了问题,响应迟缓,这个时候如果没有超时机制,那么A服务会消耗大量的线程去调用B服务,最终可能导致A服务资源耗尽,从而服务A宕机,如果还有其他服务C调用了A服务,则会出现连锁反应,出现服务雪崩的效应。

2 集群容错机制

是指当A服务调用B服务超时后,Dubbo默认会执行重试的机制,尝试去调用集群的其他机器,默认是重试两次,即加上第一次调用,总共是三次。

3 配置

超时机制+容错机制的配置:支持以服务为单位和以方法为单位进行配置,方法的优先级高于服务

也支持在服务提供方和服务消费方配置,服务消费方优先级高于服务提供方

服务消费方配置

@Reference(timeout = 2000)

private IProductApi productApi;

//配置文件的方式

dubbo

consumer:

timeout: 3000

retries: 6 //重试次数

服务提供方配置

@Service(timeout = 2000)

//配置文件的方式

dubbo

provider:

timeout: 1000

集群容错的模式

1,Failover Cluster 默认的模式,失败自动切换,当出现失败,重试其他服务器。

通常用于读操作,但重试会带来更长延迟。可设置retries属性,规定重试的次数。

2,Failfast Cluster 快速失败,只发起一次调用,失败立即报错。

通常用于非幂等性的写操作,避免造成重复的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值