Dubbo是什么

Dubbo是阿里巴巴公司开源的一个高性能、轻量级的Java RPC框架
致力于提供高性能和透明化的
RPC远程服务调用方案,以及SOA服务治理方案
官网: Dubbo官网
dubbo主要是为了提供远程线程访问的一种框架,占用内存低,性能高。
 
 
dubbo有很多特性,今天给大家讲讲dubbo的其中一个高级特性-超时
 
DUbbo高级特性-超时
  • 服务消费者在调用服务提供者的时候发生了阻塞,等待的情形,这个时候服务消费者会一直等待下去,
  • 在某个访问的峰值时刻,大量的请求都在同时的访问服务消费者,会造成大量线程堆积,会造成服务器雪崩
  • dubbo可以利用超时机制来解决这个问题,设置一个超时时间,在这个时间段内,无法完成服务访问,则会自动断开连接
  • 使用timeout属性配置超时时间,默认时间是1000毫秒.

服务提供方:

DUbbo高级特性-超时

 timeout设置超时时间,retries设置重复次数

服务消费方:

DUbbo高级特性-超时

 在我们整个远程调用的过程中,有两个位置可以设置超时时长

第一个地方是服务提供方的service注解中设置

第二个地方实在服务消费方在远程注入的时候,通过timeout属性设置超时时长

需要注意的是:

如果同时设置,以服务消费方设置的超时时长为准,就近原则

但是一般不建议在服务消费方设置超时时长,因为一般消费方调用提供者的方法,提供方一般对自己程序的操作时长(查询数据库等。。)会有大概的估算,会给出超时时长的设置,我们服务消费方一般不用设置,并且不建议。

相关文章: