RSS

20-Dubbo3服务引用配置ReferenceConfig

[Dubbo 3.0.8源码解析] 消费者创建的第一步就是先进行消费者信息的配置对应类型为ReferenceConfig,这里详细来看ReferenceConfig包含哪些信息?。

20-Dubbo3服务引用配置ReferenceConfig

20.1 简介

前面简单介绍了一下消费者的例子,消费者创建的第一步就是先进行消费者信息的配置对应类型为ReferenceConfig,这里详细来看ReferenceConfig包含哪些信息?先简单了解下消费者配置的类型关系如下图所示:引用配置与服务配置类型都是通过继承接口配置来扩展的,在分析生产者的时候详细介绍过服务相关的配置,这里来详细看消费者引用者的相关配置信息. 在这里插入图片描述

前面例子说了消费者配置对象的创建主要是通过如下代码:

ReferenceConfig<DemoService> reference = new ReferenceConfig<>();

这个配置类型的对象创建过程并没有太多的逻辑这里主要来说下各种配置信息: 服务消费者引用服务配置。对应的配置类: org.apache.dubbo.config.ReferenceConfig

属性对应URL参数类型是否必填缺省值作用描述兼容性
idstring必填配置关联服务引用BeanId1.0.0以上版本
interfaceclass必填服务发现服务接口名1.0.0以上版本
versionversionstring可选服务发现服务版本,与服务提供者的版本一致1.0.0以上版本
groupgroupstring可选服务发现服务分组,当一个接口有多个实现,可以用分组区分,必需和服务提供方一致1.0.7以上版本
timeouttimeoutlong可选缺省使用dubbo:consumer的timeout性能调优服务方法调用超时时间(毫秒)1.0.5以上版本
retriesretriesint可选缺省使用dubbo:consumer的retries性能调优远程服务调用重试次数,不包括第一次调用,不需要重试请设为02.0.0以上版本
connectionsconnectionsint可选缺省使用dubbo:consumer的connections性能调优对每个提供者的最大连接数,rmi、http、hessian等短连接协议表示限制连接数,dubbo等长连接协表示建立的长连接个数2.0.0以上版本
loadbalanceloadbalancestring可选缺省使用dubbo:consumer的loadbalance性能调优负载均衡策略,可选值:random,roundrobin,leastactive,分别表示:随机,轮询,最少活跃调用2.0.0以上版本
asyncasyncboolean可选缺省使用dubbo:consumer的async性能调优是否异步执行,不可靠异步,只是忽略返回值,不阻塞执行线程2.0.0以上版本
genericgenericboolean可选缺省使用dubbo:consumer的generic服务治理是否缺省泛化接口,如果为泛化接口,将返回GenericService2.0.0以上版本
checkcheckboolean可选缺省使用dubbo:consumer的check服务治理启动时检查提供者是否存在,true报错,false忽略2.0.0以上版本
urlurlstring可选服务治理点对点直连服务提供者地址,将绕过注册中心1.0.6以上版本
stubstubclass/boolean可选服务治理服务接口客户端本地代理类名,用于在客户端执行本地逻辑,如本地缓存等,该本地代理类的构造函数必须允许传入远程代理对象,构造函数如:public XxxServiceLocal(XxxService xxxService)2.0.0以上版本
mockmockclass/boolean可选服务治理服务接口调用失败Mock实现类名,该Mock类必须有一个无参构造函数,与Local的区别在于,Local总是被执行,而Mock只在出现非业务异常(比如超时,网络异常等)时执行,Local在远程调用之前执行,Mock在远程调用后执行。Dubbo1.0.13及其以上版本支持
cachecachestring/boolean可选服务治理以调用参数为key,缓存返回结果,可选:lru, threadlocal, jcache等Dubbo2.1.0及其以上版本支持
validationvalidationboolean可选服务治理是否启用JSR303标准注解验证,如果启用,将对方法参数上的注解进行校验Dubbo2.1.0及其以上版本支持
proxyproxyboolean可选javassist性能调优选择动态代理实现策略,可选:javassist, jdk2.0.2以上版本
clientclientstring可选性能调优客户端传输类型设置,如Dubbo协议的netty或mina。Dubbo2.0.0以上版本支持
registrystring可选缺省将从所有注册中心获服务列表后合并结果配置关联从指定注册中心注册获取服务列表,在多个注册中心时使用,值为dubbo:registry的id属性,多个注册中心ID用逗号分隔2.0.0以上版本
ownerownerstring可选服务治理调用服务负责人,用于服务治理,请填写负责人公司邮箱前缀2.0.5以上版本
activesactivesint可选0性能调优每服务消费者每服务每方法最大并发调用数2.0.5以上版本
clusterclusterstring可选failover性能调优集群方式,可选:failover/failfast/failsafe/failback/forking2.0.5以上版本
filterreference.filterstring可选default性能调优服务消费方远程调用过程拦截器名称,多个名称用逗号分隔2.0.5以上版本
listenerinvoker.listenerstring可选default性能调优服务消费方引用服务监听器名称,多个名称用逗号分隔2.0.5以上版本
layerlayerstring可选服务治理服务调用者所在的分层。如:biz、dao、intl:web、china:acton。2.0.7以上版本
initinitboolean可选false性能调优是否在afterPropertiesSet()时饥饿初始化引用,否则等到有人注入或引用该实例时再初始化。2.0.10以上版本
protocolprotocolstring可选服务治理只调用指定协议的服务提供方,其它协议忽略。

原文地址:20-Dubbo3服务引用配置ReferenceConfig