dubbo-2.7.3
sticky - 默认 false
粘滞连接,总是向同一个提供方发起请求,除非此提供方挂掉,再切换到另一台
lazy false
延迟建立连接,调用时建立
group
分组聚合返回值,用于菜单聚合等服务 - 【服务分组 当一个接口有多种实现时,可以用 group 区分。特殊场景使用】
check -- 启动时检查
检查服务提供程序在启动期间是否可用,默认值为true
如果你的 Spring 容器是懒加载的,或者通过 API 编程延迟引用服务,请关闭 check,否则服务临时不可用时,会抛出异常,拿到 null 引用,如果 check="false"
,总是会返回引用,当服务恢复时,能自动连上。
ondisconnect
当断开连接时,回调方法名称的默认值为空字符串
onconnect
连接回调方法名称时,默认值为空字符串
async
是否启用异步调用,默认值为false - 【不可靠异步调用】
retries
服务调用重试时间
actives
允许的最大活动请求数,默认值为0 (不限制) -【并发控制】
validation
是否使用JSR303验证,合法值为:true、false - 【参数验证,JSR303验证框架集成 对性能有影响】
timeout
服务调用的超时值,默认值为0 - 【建议在 服务方设置,因为服务方更知道要如何设置这个值】
loadbalance
负载均衡策略,合法值包括:随机值、圆筒箱值、最少活动值 Constants#DEFAULT_LOADBALANCE - 【负载均衡】
connections
服务提供者可以接受的最大连接数,默认值为0 -connections -【连接数控制】
cluster
集群策略,合法值包括:故障转移、故障快速、故障安全、故障恢复、分叉 - 【集群容错】
reconnect 2000 ms
如果连接丢失,是否重新连接;如果没有指定,则默认启用reconnect,以及间隔
init
当所有属性都设置好后,是否立即初始化引用bean,默认值为false
injvm
启用时,如果本地服务存在,最好调用相同JVM中的本地服务,默认值为true - 【本地调用】
generic
是否启用泛型调用,默认值为false -【泛化调用,无需业务接口类进行远程调用,用于测试平台,开放网关桥接等】
client
客户端传输类型,默认值为“netty”
url
用于直接调用的服务目标URL,如果指定了此URL,则注册中心不生效。 - 【直连提供者】
如果是线上需求需要点对点,可在 <dubbo:reference>
中配置 url 指向提供者,将绕过注册中心,多个地址用分号隔开
<dubbo:reference id="xxxService" interface="com.alibaba.xxx.XxxService" url="dubbo://localhost:20890" />
version
服务版本,默认值为空字符串- 【多版本 当一个接口实现,出现不兼容升级时,可以用版本号过渡,版本号不同的服务相互间不引用。】
interfaceName
接口类名,默认值为空字符串
interfaceClass
接口类,默认值为void.class
proxy
接口代理的实现方式:合法的值包括:jdk、javassist
callbacks
回调实例限制对等连接 , 默认 0 Constants#DEFAULT_CALLBACK_INSTANCES
cache
为服务调用指定缓存实现,合法值包括:lru、threadlocal、jcache - 【结果缓存,用于加速请求】
String[] filter
服务调用过滤器 - 【事件通知,在远程调用执行前后触发】
String[] listener
用于服务导出和反导出的侦听器
String[] parameters()
自定义参数键值对,例如:{key1, value1, key2, value2} - 【用于不同扩展点实现的特殊配置】
application
应用名字
consumer
消费者相关的名字
module
模块的名字
monitor
监控相关的名字
String[] registry()
注册表相关的名字
protocol
Dubbo服务的通信协议
tag
服务标签名称
id
id
Method[] methods
方法支持
owner
服务所有者,默认值为空字符串 - 【简化注册中心的配置】
layer
服务层,默认值为空字符串
stub
服务存根名称,如果没有设置,请使用接口名称+本地名称 - 【本地存根 在客户端执行部分逻辑】
sent
无论异步请求是否已经发送,默认值都为false
mock
本地伪装,如果没有设置,则使用接口名称+伪装名 - 【本地伪装 伪造返回结果,可在失败时执行,或直接执行,用于服务降级 需注册中心支持】
mock=force:return+null
表示消费方对该服务的方法调用都直接返回 null 值,不发起远程调用。用来屏蔽不重要服务不可用时对调用方的影响。- 还可以改为
mock=fail:return+null
表示消费方对该服务的方法调用在失败后,再返回 null 值,不抛异常。用来容忍不重要服务不稳定时对调用方的影响。
stubevent
导出用于事件分派的存根服务,默认值为false。