springboot整合dubbo超时配置 |
您所在的位置:网站首页 › dubbo默认重试 › springboot整合dubbo超时配置 |
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 |