dubbo超时优先级设置

调用超时配置的优先级

可以在多个配置项设置超时,由上至下覆盖(即上面的优先),示例如下:

# 其它的参数(retries、loadbalance、actives等)的覆盖策略也一样。

提供者端特定方法的配置

<dubbo:service interface="com.alibaba.xxx.XxxService" >

    <dubbo:method name="findPerson" timeout="1000" />

</dubbo:service>

提供者端特定接口的配置

<dubbo:service interface="com.alibaba.xxx.XxxService" timeout="200" />

# timeout可以在多处设置,配置项及覆盖规则详见: Dubbo配置参考手册

全局配置项值,对应dubbo.properties中的Key名dubbo.service.invoke.timeout

Configuration Relation:

  • <dubbo:service/> 服务配置,用于暴露一个服务,定义服务的元信息,一个服务可以用多个协议暴露,一个服务也可以注册到多个注册中心。
  • <dubbo:reference/> 引用配置,用于创建一个远程服务代理,一个引用可以指向多个注册中心。
  • <dubbo:protocol/> 协议配置,用于配置提供服务的协议信息,协议由提供方指定,消费方被动接受。
  • <dubbo:application/> 应用配置,用于配置当前应用信息,不管该应用是提供者还是消费者。
  • <dubbo:module/> 模块配置,用于配置当前模块信息,可选。
  • <dubbo:registry/> 注册中心配置,用于配置连接注册中心相关信息。
  • <dubbo:monitor/> 监控中心配置,用于配置连接监控中心相关信息,可选。
  • <dubbo:provider/> 提供方的缺省值,当ProtocolConfig和ServiceConfig某属性没有配置时,采用此缺省值,可选。
  • <dubbo:consumer/> 消费方缺省配置,当ReferenceConfig某属性没有配置时,采用此缺省值,可选。
  • <dubbo:method/> 方法配置,用于ServiceConfig和ReferenceConfig指定方法级的配置信息。
  • <dubbo:argument/> 用于指定方法参数配置。

Configuration Override:

  • 上图中以timeout为例,显示了配置的查找顺序,其它retries, loadbalance, actives等类似。

    • 方法级优先,接口级次之,全局配置再次之。
    • 如果级别一样,则消费方优先,提供方次之。
  • 其中,服务提供方配置,通过URL经由注册中心传递给消费方。
  • 建议由服务提供方设置超时,因为一个方法需要执行多长时间,服务提供方更清楚,如果一个消费方同时引用多个服务,就不需要关心每个服务的超时设置。
  • 理论上ReferenceConfig的非服务标识配置,在ConsumerConfig,ServiceConfig, ProviderConfig均可以缺省配置。
时间: 2024-10-05 23:47:48

dubbo超时优先级设置的相关文章

dubbo超时重试和异常处理

参考: https://www.cnblogs.com/ASPNET2008/p/7292472.html https://www.tuicool.com/articles/YfA3Ub https://www.cnblogs.com/binyue/p/5380322.html https://blog.csdn.net/mj158518/article/details/51228649 本篇主要记录dubbo中关于超时的常见问题,实现原理,解决的问题以及如何在服务降级中体现作用等. 超时问题

Dubbo超时和重连机制

摘要: dubbo启动时默认有重试机制和超时机制. 超时机制的规则是如果在一定的时间内,provider没有返回,则认为本次调用失败, 重试机制在出现调用失败时,会再次调用.如果在配置的调用次数内都失败,则认为此次请求异常,抛出异常. dubbo启动时默认有重试机制和超时机制.超时机制的规则是如果在一定的时间内,provider没有返回,则认为本次调用失败,重试机制在出现调用失败时,会再次调用.如果在配置的调用次数内都失败,则认为此次请求异常,抛出异常. 如果出现超时,通常是业务处理太慢,可在服

Linux 线程调度与优先级设置

转载:http://blog.csdn.net/a_ran/article/details/43759729 Linux内核的三种调度策略: 1,SCHED_OTHER 分时调度策略, 2,SCHED_FIFO实时调度策略,先到先服务.一旦占用cpu则一直运行.一直运行直到有更高优先级任务到达或自己放弃 3,SCHED_RR实时调度策略,时间片轮转.当进程的时间片用完,系统将重新分配时间片,并置于就绪队列尾.放在队列尾保证了所有具有相同优先级的RR任务的调度公平 Linux线程优先级设置   首

Win7下同时使用有线和无线时的优先级设置

终于找到这个问题的解决方案了!!!!我是通过方法1改跃点数实现的,方法2无效. http://linshengling.blog.163.com/blog/static/114651912012102943951573/ Win7下有线能上网与无线网络不能上网优先级设置 今天有个同事无法上网了,她反馈说昨天在家里用无线上了网之后再回到公司就上了不网了,以前都是可以的. 我去看了下,一切都挺正常的,然后看到“多重网络”连接便觉得问题出在了那里,她的笔记本连着有线的网线以及开了无线网络. 以前分配给

python故障查找:超时未设置

最近一台基于python的应用服务总是出现问题.需求是用户可以在页面上提交批量处理任务,后台把这些任务入到一个Queue里排队处理,然后通过一个线程专门处理.现在总是偶尔出现假死状态,任务处理中断执行.开始总是以为是哪里出错了,导致程序中断.可以检查程序,任务处理过程全部try了,并打印日志.但是查找日志没有任何出错.首先要排查的线程到底有没有活着,如果活着,是在哪里阻塞了,所以想对任务处理线程执行dump,然后分析.本以为是python中有像jvm中的jstack的工具,但是上网查找没有结果,

VC socket Connect 超时时间设置

设置connect超时很简单,CSDN上也有人提到过使用select,但却没有一个令人满意与完整的答案.偶所讲的也正是select函数,此函数集成在winsock1.1中,简单点讲,"作用使那些想避免在套接字调用过程中被锁定的应用程序,采取一种有序的方式,同时对多个套接字进行管理"(<Windows网络编程技术>原话).使用方法与解释请见<Windows网络编程技术>. 在使用此函数前,需先将socket设置为非阻塞模式,这样,在connect时,才会立马跳过,

dubbo超时的深思

在dubbo的provider和consumer的配置文件中,如果都配置了timeout的超时时间,dubbo默认以consumer中配置的时间为准 provider.xml的配置: <dubbo:service timeout="4000" retries="0" interface="com.dingding.tms.bms.service.BillingZfbCodOrderService" ref="billingZfbC

线程的优先级设置

1 Thread.currentThread().setPriority(Thread.MAX_PRIORITY);//高优先级 2 3 Thread.currentThread().setPriority(Thread.MIN_PRIORITY);//低优先级 设置优先级时应该通过currentThread()来获取当前的Thread对象,以此Thread对象调用setPriority()来设置优先级:

golang net http库相关超时的设置

net.http 包中的超时设置 app.Server.ReadTimeout app.Server.WriteTimeout 是针对所有请求设置的选项 默认 net.http keepalived 开启,超时时间为 3 分钟,如下 1942    type tcpKeepAliveListener struct { 1943          *net.TCPListener 1944    } 1945 1946    func (ln tcpKeepAliveListener) Accep