9,Dubbo的超时容错机制

2020-05-25 00:00:00 调用 服务 重试 机制 容错

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

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

2 集群容错机制

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

3 配置

超时机制+容错机制的配置:

  1. 支持以服务为单位和以方法为单位进行配置,方法的优先级高于服务
  2. 也支持在服务提供方和服务消费方配置,服务消费方优先级高于服务提供方

服务消费方配置

@Reference(timeout = 2000)
private IProductApi productApi;

//配置文件的方式
dubbo
  consumer:
    timeout: 3000
    retries: 6 //重试次数

相关文章