个人博客:http://www.jinglingmao.shop
dubbo:service
服务提供者暴露服务配置,对应的配置类:org.apache.dubbo.config.ServiceConfig
服务发现
interface:服务接口名
ref :服务 对象实现 引用
version : 服务版本,建议使用两位数字版本,如:1.0,通常在接口不兼容时版本号才需要升级,默认值0.0.0
性能调优
timeout : 远程服务调用超时时间(毫秒) 默认值 1000
retries : 远程服务调用重试次数,不包括第一次调用,不需要重试请设为0 默认 2
loadbalance:负载均衡策略,random(随机)、roundrobin(轮询)、leastactive(最少活跃调用)
weight:服务权重
服务治理
stub:设为true,表示使用默认代理类名,即接口名+Stub后缀,服务接口客户端本地代理类名,用于在客户端执行本地逻辑,如本地缓存等,该本地代理类的构造函数必须允许传入远程代理对象,构造函数如:public XxxServiceStub(XxxService xxxService)
owner:服务负责人,用于服务治理,请填写负责人公司邮箱前缀
dubbo:reference
服务消费者引用服务配置。对应的配置类 org.apache.dubbo.config.ReferenceConfig
配置关联
id:服务引用BeanId
服务发现
interface:服务接口名
version:服务版本,与服务提供者的版本一致
group:服务分组,当一个接口有多个实现,可以用分组区分,必须和和服提供方一致
性能调优
timeout:服务方法调用超时时间(毫秒)默认使用<dubbo:consumer>的timeout 但 建议配置在服务提供方 ,因为服务提供方更清楚服务的性能参数
retries:远程服务调用重试次数,不包括第一次调用,不需要重试请设为0 默认使用<dubbo:consumer>的retries 但还是建议配置在provider
loadbalance:负载均衡策略,,random(随机)、roundrobin(轮询)、leastactive(最少活跃调用) 默认使用<dubbo:consumer>的loadbalance
服务治理
check:启动时检查提供者是否存在,true报错,false忽略 默认使用<dubbo:consumer>的check
url:点对点直连服务提供者地址,将绕过注册中心
stub:服务接口客户端本地代理类名,用于在客户端执行本地逻辑,如本地缓存等,该本地代理类的构造函数必须允许传入远程代理对象,构造函数如:public XxxServiceLocal(XxxService xxxService)
owner:调用服务负责人,用于服务治理,请填写负责人公司邮箱前缀
protocol:只调用指定协议的服务提供方,其他协议忽略
dubbo:protocol
服务提供者协议配置。对应的配置类:org.apache.dubbo.config.ProtocolConfig。 同时如果需要支持多协议,可以声明多个<dubbo:protocol>标签,并在<dubbo:service>中通过protocol属性指定使用的协议
配置关联
id:协议BeanId,可以在<dubbo:service protocol="">中引用此ID,如果ID不填,默认和name属性值一样,重复则在name后加序号 默认值:dubbo
性能调优
name:协议名称 默认值 dubbo
服务发现
prot:服务端口,dubbo协议默认端口为20880,rmi协议默认端口为1099,http和hessian协议缺省端口为80;如果没有配置port,则自动采用默认端口,如果配置为-1,则会分配一个没有被占用的端口。Dubbo 2.4.0+,分配的端口在协议缺省端口的基础上增长,确保端口段可控。
dubbo:registry
注册中心配置,对应的配置类:org.apache.dubbo.config.RegistryConfig 同时如果有多个不同的注册中心,可以声明多个<dubbo:registry>标签,并在<dubbo:service>或<dubbo:reference>的registry属性指定使用的注册中心
配置关联
id:注册中心引用BeanId,可以在<dubbo:service registry="">或<dubbo:reference registry="">中引用此ID
服务发现
address:注册中心服务器地址,如果地址没有端口默认为9090,同一集群内的多个地址用逗号分割,如:ip:port,ip:port,不同集群的注册中心,请配置多个<dubbo:registry>标签
protocol:注册中心地址协议,支持dubbo,http,local三种协议,分别表示:dubbo地址、http地址、本地注册中心 默认为dubbo
port:注册中心默认端口,当address没有带端口时使用此端口做为默认值
性能调优
timeout:注册中心请求超时时间(毫秒) 默认值 5000
session:注册中心会话超时时间(毫秒),用于检测提供者非正常断线后的脏数据,比如用心跳检测的实现,此时间就是心跳间隔,不同注册中心实现不一样
服务治理
check:注册中心不存在时,是否报错
register:是否向此注册中心注册服务,如果设置为false,将只订阅,不注册
dubbo:monitor
监控中心配置,对应的配置类:org.apache.dubbo.config.MonitorConfig
服务治理
protocol:监控中心协议,如果为protocol="registry"表示从注册中心发现监控中心地址,否则直连监控中心
address:直连监控中心服务器地址,address="10.20.130.230:12080"
dubbo:application
服务治理
name:当前应用名称,用于注册中心计算应用间依赖关系,注意:消费者和提供者应用名不要一样,此参数不是匹配条件,你当前项目叫什么名字就填什么,和提供者消费者角色无关,比如:kylin应用调用了morgan应用的服务,则kylin项目配成kylin,morgan项目配成morgan,可能kylin也提供其他服务给别人使用,但kylin项目永远配成kylin,这样注册中心将显示kylin依赖于morgan
version:当前应用的版本
owner:应用负责人,用于服务治理,请填写负责人公司邮箱前缀
dubbo:module
模块信息配置,对应的配置类:org.apache.dubbo.config.ModuleConfig
服务治理
name:当前模块名称,用于注册中心计算模块间的依赖关系
version:当前模块的版本
owner:模块负责人,用于服务治理,请填写负责人公司邮箱前缀
dubbo:provider
提供者默认值配置,对应的配置类:org.apache.dubbo.config.ProviderConfig 同时该标签为<dubbo:service>和<dubbo:protocol>标签的默认值设置
配置关联
id:协议BeanId,可以在<dubbo:service provider="">中引用此ID 默认值dubbo
registry:向指定注册中心注册,在多个注册中心时使用,值为<dubbo:registry>的id属性,多个注册中心ID用逗号分隔,如果不想将该服务注册到任何registry,可以将值设置为N/A 默认向所有registry注册
性能调优
protocol:协议名称 默认值 dubbo
threads:服务线程池大小(固定大小)
server:协议的服务器端实现类型,比如:dubbo协议的mina,netty等,http协议的jetty,servlet等, dubbo协议默认为netty,http协议默认为servlet
client:协议的客户端实现类型,比如:dubbo协议的mina,netty等 dubbo协议默认为netty
delay:延迟注册服务时间(毫秒),设为-1时,表示延迟到Spring容器初始化完成时暴露服务 默认为0
timeout:远程服务调用超时时间(毫秒) 默认1000
retries:远程服务调用重试次数,不包括第一次调用,不需要重试请设置为0
loadbalance:负载均衡策略,,random(随机)、roundrobin(轮询)、leastactive(最少活跃调用) 默认 random
weight:服务权重
charset:序列化编码 默认UTF-8
服务发现
version:服务版本,建议使用两位数版本,如:1.0,通常在接口不兼容时版本号才需要升级,默认为0.0.0
服务治理
stub:设置为true,表示使用默认代理类名, 即:接口名+Local后缀
owner:服务负责人,用于服务治理,请填写负责人公司邮箱前缀
dubbo:consumer
服务消费者默认值配置。配置类:org.apache.dubbo.config.ConsumerConfig 同时该标签为<dubbo:reference>标签的默认值设置
配置关联
registry:向指定注册中心注册,在多个注册中心时使用,值为<dubbo:registry>的id属性,多个注册中心ID用逗号分隔,如果不想将该服务注册到任何registry,可将值设为N/A
性能调优
timeout:远程服务调用超时时间(毫秒) 默认值1000
retries:远程服务调用重试次数,不包括第一次调用,不需要重试请设为0,仅在cluster为failback/failover时有效 默认为2
loadbalance:远程服务调用重试次数,不包括第一次调用,不需要重试请设为0,仅在cluster为failback/failover时有效 默认为 random
服务治理
check:启动时检查提供者是否存在,true报错,false忽略 默认为true
owner:调用服务负责人,用于服务治理,请填写负责人公司邮箱前缀
dubbo:method
方法级配置。对应的配置类:org.apache.dubbo.config.MethodConfig 。同时该标签为<dubbo:service>或<dubbo:reference> 的子标签,用于控制到方法级
标识
name:方法名
性能调优
timeout:方法调用超时时间(毫秒)
retries:远程服务调用重试次数,不包括第一次调用,不需要重试请设为0 默认为<dubbo:reference>的retries
loadbalance:负载均衡策略,可选值:random,roundrobin,leastactive,分别表示:随机,轮询,最少活跃调用
dubbo:argument
方法参数配置。对应的配置类 该标签为<dubbo:method>的子标签,用于方法参数的特征描述
标识
index:参数索引
type:通过参数类型查找参数的index 与index二选一
服务治理
callback:参数是否为callback接口,如果为callback,服务提供方将生成反向代理,可以从服务提供方反向调用消费方,通常用于事件推送
dubbo:config-center
配置中心,对应的配置类:org.apache.dubbo.config.ConfigCenterConfig
protocol:使用哪个配置中心:apollo、zookeeper、nacos等。以zookeeper为例 1.指定protocol,则address可以简化为127.0.0.1:2181;2.不指定protocol,则address取值为zookeeper://127.0.0.1:2181
address:配置中心地址,取值见protocol说明
check:当配置中心连接失败时,是否终止应用启动