springboot整合dubbo超时配置

您所在的位置:网站首页 dubbo默认重试 springboot整合dubbo超时配置

springboot整合dubbo超时配置

2024-06-06 07:28| 来源: 网络整理| 查看: 265

dubbo超时时间设置 dubbo的超时时间我了解的设置方法有多种,可以设置在具体方法上,也可以设置在具体实现类上,还能设置在全局配置中。这几种又分别都可以设置在消费者和生成者里面。

消费者(consumer)设置 1.设置具体方法超时时间 这里代表只是给historyBrowseService的服务中的getFlag、getAlubme方法设置超时时间超时时间为3000毫秒, 超时后重试次数为0。

@Reference(version = "1.0.0", parameters = {             "getFlag.retries", "0",             "getFlag.timeout", "3000",             "getAlubme.retries", "0",             "getAlubme.timeout", "3000"})     private IHistoryBrowseService historyBrowseService;

2.设置在具体实现类上 这里代表给historyBrowseService整个服务设置超时时间,服务中所有方法都生效。

@Reference(version = "1.0.0", retries = 0,timeout = 3000)     private IHistoryBrowseService historyBrowseService;

3.全局设置。在配置文件设置 这里是springBoot的yml文件格式。dubbo版本是2.0.0。如果你使用的是0.2.0以上的版本,那就不需要spring开头。

spring:    dubbo:     #dubbo配置       consumer:          timeout: 3000          retries: 0

超时时间设置,生效的优先级 设置在方法上的优先级最高,设置在服务上的优先级次之,全局配置的优先级最次 可以按照缺省定义来理解。

指定方法上设置了优先级不生效 检查是否有两个地方都引用了这个服务,但是只有一个地方设置了指定方法的超时时间。 因为默认读取最小的超时时间。如下所示:

public class VVideoServiceImpl extends BaseServiceImpl implements IVVideoService {     @Reference(version = "1.0.0", parameters = {             "getFlag.retries", "0",             "getFlag.timeout", "3000"})     private IHistoryBrowseService historyBrowseService;     } public class RecordDao extends ServiceImpl {     @Reference(version = "1.0.0")     private IHistoryBrowseService historyBrowseService;     }

生产者(provider)设置 生产者的配置基本跟消费者一致 1.生产者注册时给具体方法超时时间,这里时给getFlag设置超时时间和重试次数

@Service(version = "1.0.0",parameters = {         "getFlag.retries","0",         "getFlag.timeout","3500"})//Service注解必须为com.alibaba.dubbo.config.annotation.Service

注解,且必须标明服务的版本号

@Component public class HistoryBrowseServiceImpl extends BaseServiceImpl implements IHistoryBrowseService {     @Override     public Map getFlag(Long uid, List albumIdList) {           Map map = new HashMap();         return map;     } }

2.设置具体实现类超时时间

@Service(version = "1.0.0",retries = 0,timeout = 3000)//Service注解必须为com.alibaba.dubbo.config.annotation.Service注解,且必须标明服务的版本号 @Component public class HistoryBrowseServiceImpl extends BaseServiceImpl implements IHistoryBrowseService {     @Override     public Map getFlag(Long uid, List albumIdList) {           Map map = new HashMap();         return map;     }

3.全局配置,配置文件配置 这里与消费之的区别只是头不同,消费者是:consumer,生产者是:provider

spring:     dubbo:   #dubbo配置       provider:          timeout: 3000          retries: 0

超时时间设置,生效的优先级 设置在方法上的优先级最高,设置在服务上的优先级次之,全局配置的优先级最次 可以按照缺省定义来理解。

消费者和生产者都配置了超时时间,优先级关系 在消费者和生产者同级配置中,消费者优先级比生成者优先级高 在消费者和生成者不同级配置中,级别高的优先级高 也就是如下关系 消费者指定方法 > 生产者指定方法 > 消费者指定服务 > 生产者指定服务 > 消费者全局配置 > 生产者全局配置 也是可以按照缺省定义来理解  



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3