dubbo配置指南

SLA配置在此完成!Service Layer Agreement

  • ApplicationConfig 应用配置,用于配置当前应用信息,不管该应用是提供者还是消费者。
  • RegistryConfig 注册中心配置,用于配置连接注册中心相关信息。
  • ProtocolConfig 协议配置,用于配置提供服务的协议信息,协议由提供方指定,消费方被动接受。
  • ServiceConfig 服务配置,用于暴露一个服务,定义服务的元信息,一个服务可以用多个协议暴露,一个服务也可以注册到多个注册中心。
  • ProviderConfig 提供方的缺省值,当ProtocolConfig和ServiceConfig某属性没有配置时,采用此缺省值。
  • ReferenceConfig 引用配置,用于创建一个远程服务代理,一个引用可以指向多个注册中心。
  • ConsumerConfig 消费方缺省配置,当ReferenceConfig某属性没有配置时,采用此缺省值。
  • MethodConfig 方法配置,用于ServiceConfig和ReferenceConfig指定方法级的配置信息。
  • ArgumentConfig 用于指定方法参数配置。

Configuration Override:

  • 上图中以timeout为例,显示了配置的查找顺序,其它retries, loadbalance, actives等类似。
  • 方法级优先,接口级次之,全局配置再次之。
  • 如果级别一样,则消费方优先,提供方次之。
  • 其中,服务提供方配置,通过URL经由注册中心传递给消费方。
  • 建议由服务提供方设置超时,因为一个方法需要执行多长时间,服务提供方更清楚,如果一个消费方同时引用多个服务,就不需要关心每个服务的超时设置。
  • 理论上ReferenceConfig的非服务标识配置,在ConsumerConfig,ServiceConfig, ProviderConfig均可以缺省配置。

Configuration Type:

注意:只有group,interface,version是服务的匹配条件,三者决定是不是同一个服务,其它配置项均为调优和治理参数。

所有配置项分为三大类,参见下表中的"作用"一列。

  • 服务发现:表示该配置项用于服务的注册与发现,目的是让消费方找到提供方。
  • 服务治理:表示该配置项用于治理服务间的关系,或为开发测试提供便利条件。
  • 性能调优:表示该配置项用于调优性能,不同的选项对性能会产生影响。

所有配置最终都将转换为URL表示,并由服务提供方生成,经注册中心传递给消费方,各属性对应URL的参数,参见配置项一览表中的"对应URL参数"列。

URL格式:

protocol://username:password@host:port/path?key=value&key=value

Schema: http://code.alibabatech.com/schema/dubbo/dubbo.xsd

dubbo:application

应用信息配置:

配置类:com.alibaba.dubbo.rpc.config.ApplicationConfig

标签

属性

对应URL参数

类型

是否必填

缺省值

作用

描述

兼容性

<dubbo:application>

name

application

string

必填

服务治理

当前应用名称,用于注册中心计算应用间依赖关系,注意:消费者和提供者应用名不要一样,此参数不是匹配条件,你当前项目叫什么名字就填什么,和提供者消费者角色无关,比如:kylin应用调用了morgan应用的服务,则kylin项目配成kylin,morgan项目配成morgan,可能kylin也提供其它服务给别人使用,但kylin项目永远配成kylin,这样注册中心将显示kylin依赖于morgan

1.0.16以上版本

<dubbo:application>

organization

organization

string

可选

服务治理

组织名称(BU或部门),用于注册中心区分服务来源,此配置项建议不要使用autoconfig,直接写死在配置中,比如china,intl,itu,crm,asc,dw,aliexpress等

2.0.0以上版本

<dubbo:application>

organization

organization

string

可选

服务治理

用于服务分层对应的架构。如,intl、china。不同的架构使用不同的分层。

2.0.7以上版本

<dubbo:application>

environment

environment

string

可选

服务治理

应用环境,如:develop/test/product,不同环境使用不同的缺省值,以及作为只用于开发测试功能的限制条件

2.0.0以上版本

<dubbo:application>

owner

owner

string

可选

服务治理

应用负责人,用于服务治理,请填写负责人公司邮箱前缀

2.0.5以上版本

dubbo:registry

注册中心配置:

配置类:com.alibaba.dubbo.rpc.config.RegistryConfig

说明:如果有多个不同的注册中心,可以声明多个<dubbo:registry>标签,并在<dubbo:service>或<dubbo:reference>的registry属性指定使用的注册中心。

标签

属性

对应URL参数

类型

是否必填

缺省值

作用

描述

兼容性

<dubbo:registry>

id

string

可选

配置关联

注册中心引用BeanId,可以在<dubbo:service registry="">或<dubbo:reference registry="">中引用此ID

1.0.16以上版本

<dubbo:registry>

address

<host:port>

string

必填

服务发现

注册中心服务器地址,如果地址没有端口缺省为9090,同一集群内的多个地址用逗号分隔,如:ip:port,ip:port,不同集群的注册中心,请配置多个<dubbo:registry>标签

1.0.16以上版本

<dubbo:registry>

protocol

<protocol>

string

可选

dubbo

服务发现

注同中心地址协议,支持dubbo, http, local三种协议,分别表示,dubbo地址,http地址,本地注册中心

2.0.0以上版本

<dubbo:registry>

port

<port>

int

可选

9090

服务发现

注册中心缺省端口,当address没有带端口时使用此端口做为缺省值

2.0.0以上版本

<dubbo:registry>

username

<username>

string

可选

服务治理

登录注册中心用户名,如果注册中心不需要验证可不填

2.0.0以上版本

<dubbo:registry>

password

<password>

string

可选

服务治理

登录注册中心密码,如果注册中心不需要验证可不填

2.0.0以上版本

<dubbo:registry>

transport

registry.transporter

string

可选

netty

性能调优

网络传输方式,可选mina,netty

2.0.0以上版本

<dubbo:registry>

timeout

registry.timeout

int

可选

5000

性能调优

注册中心请求超时时间(毫秒)

2.0.0以上版本

<dubbo:registry>

file

registry.file

string

可选

服务治理

使用文件缓存注册中心地址列表及服务提供者列表,应用重启时将基于此文件恢复,注意:两个注册中心不能使用同一文件存储

2.0.0以上版本

<dubbo:registry>

wait

registry.wait

int

可选

0

性能调优

停止时等待通知完成时间(毫秒)

2.0.0以上版本

<dubbo:registry>

check

check

boolean

可选

true

服务治理

注册中心不存在时,是否报错

2.0.0以上版本

<dubbo:registry>

register

register

boolean

可选

true

服务治理

是否向此注册中心注册服务,如果设为false,将只订阅,不注册

2.0.5以上版本

<dubbo:registry>

subscribe

subscribe

boolean

可选

true

服务治理

是否向此注册中心订阅服务,如果设为false,将只注册,不订阅

2.0.5以上版本

<dubbo:registry>

dynamic

dynamic

boolean

可选

true

服务治理

服务是否动态注册,如果设为false,注册后将显示后disable状态,需人工启用,并且服务提供者停止时,也不会自动取消册,需人工禁用。

2.0.5以上版本

dubbo:monitor

监控中心配置:

配置类:com.alibaba.dubbo.rpc.config.MethodConfig

说明:该配置为logstat地址配置,建议使用dragoon2.5代替,logstat将逐步停用。

标签

属性

对应URL参数

类型

是否必填

缺省值

作用

描述

兼容性

<dubbo:monitor>

address

<url>

string

可选

N/A

服务治理

监控中心服务器地址,格式:ip:port,(1)如配置为address="10.20.130.230:12080", 则为使用logstat监控

(2)如未添加该配置,或者address="N/A", 则会去加载comsat.xml, 如果找到,就使用comsat监控;如果没找到,就不做监控

1.0.16以上版本

dubbo:protocol

服务提供者协议配置:

配置类:com.alibaba.dubbo.rpc.config.ProtocolConfig

说明:如果需要支持多协议,可以声明多个<dubbo:protocol>标签,并在<dubbo:service>中通过protocol属性指定使用的协议。

标签

属性

对应URL参数

类型

是否必填

缺省值

作用

描述

兼容性

<dubbo:protocol>

id

string

可选

dubbo

配置关联

协议BeanId,可以在<dubbo:service proivder="">中引用此ID

2.0.5以上版本

<dubbo:protocol>

name

<protocol>

string

必填

dubbo

性能调优

协议名称

2.0.5以上版本

<dubbo:protocol>

port

<port>

int

可选

dubbo协议缺省端口为20880,rmi协议缺省端口为1099,http和hessian协议缺省端口为80

服务发现

服务端口

2.0.5以上版本

<dubbo:protocol>

host

<host>

string

可选

自动查找本机IP

服务发现

-服务主机名,多网卡选择或指定VIP及域名时使用,为空则自动查找本机IP,-建议不要配置,让Dubbo自动获取本机IP

2.0.5以上版本

<dubbo:protocol>

threadpool

threadpool

string

可选

fixed

性能调优

线程池类型,可选:fixed/cached

2.0.5以上版本

<dubbo:protocol>

threads

threads

int

可选

100

性能调优

服务线程池大小(固定大小)

2.0.5以上版本

<dubbo:protocol>

iothreads

threads

int

可选

cpu个数+1

性能调优

io线程池大小(固定大小)

2.0.5以上版本

<dubbo:protocol>

accepts

accepts

int

可选

0

性能调优

服务提供方最大可接受连接数

2.0.5以上版本

<dubbo:protocol>

payload

payload

int

可选

88388608(=8M)

性能调优

请求及响应数据包大小限制,单位:字节

2.0.5以上版本

<dubbo:protocol>

codec

codec

string

可选

dubbo

性能调优

协议编码方式

2.0.5以上版本

<dubbo:protocol>

serialization

serialization

string

可选

dubbo协议缺省为hessian2,rmi协议缺省为java,http协议缺省为json

性能调优

协议序列化方式,当协议支持多种序列化方式时使用,比如:dubbo协议的dubbo,hessian2,java,compactedjava,以及http协议的json等

2.0.5以上版本

<dubbo:protocol>

accesslog

accesslog

string/boolean

可选

服务治理

设为true,将向logger中输出访问日志,也可填写访问日志文件路径,直接把访问日志输出到指定文件

2.0.5以上版本

<dubbo:protocol>

path

<path>

string

可选

服务发现

提供者上下文路径,为服务path的前缀

2.0.5以上版本

<dubbo:protocol>

server

server

string

可选

dubbo协议缺省为netty,http协议缺省为servlet

性能调优

协议的服务器端实现类型,比如:dubbo协议的mina,netty等,http协议的jetty,servlet等

2.0.5以上版本

<dubbo:protocol>

client

client

string

可选

dubbo协议缺省为netty

性能调优

协议的客户端实现类型,比如:dubbo协议的mina,netty等

2.0.5以上版本

<dubbo:protocol>

queues

queues

int

可选

0

性能调优

线程池队列大小,当线程池满时,排队等待执行的队列大小,建议不要设置,当线程程池时应立即失败,重试其它服务提供机器,而不是排队,除非有特殊需求。

2.0.5以上版本

<dubbo:protocol>

charset

charset

string

可选

UTF-8

性能调优

序列化编码

2.0.5以上版本

<dubbo:protocol>

buffer

buffer

int

可选

8192

性能调优

网络读写缓冲区大小

2.0.5以上版本

<dubbo:protocol>

telnet

telnet

string

可选

服务治理

所支持的telnet命令,多个命令用逗号分隔

2.0.5以上版本

<dubbo:protocol>

register

register

boolean

可选

true

服务治理

该协议的服务是否注册到注册中心

2.0.8以上版本

dubbo:service

服务提供者暴露服务配置:

配置类:com.alibaba.dubbo.rpc.config.ServiceConfig

标签

属性

对应URL参数

类型

是否必填

缺省值

作用

描述

兼容性

<dubbo:service>

interface

class

必填

服务发现

服务接口名

1.0.0以上版本

<dubbo:service>

ref

object

必填

服务发现

服务对象实现引用

1.0.0以上版本

<dubbo:service>

version

version

string

可选

0.0.0

服务发现

服务版本,建议使用两位数字版本,如:1.0,通常在接口不兼容时版本号才需要升级

1.0.0以上版本

<dubbo:service>

group

group

string

可选

服务发现

服务分组,当一个接口有多个实现,可以用分组区分

1.0.7以上版本

<dubbo:service>

path

<path>

string

可选

缺省为接口名

服务发现

服务路径 (注意:1.0不支持自定义路径,总是使用接口名,如果有1.0调2.0,配置服务路径可能不兼容)

1.0.12以上版本

<dubbo:service>

delay

delay

int

可选

0

性能调优

延迟注册服务时间(毫秒) ,设为-1时,表示延迟到Spring容器初始化完成时暴露服务

1.0.14以上版本

<dubbo:service>

timeout

timeout

int

可选

5000

性能调优

远程服务调用超时时间(毫秒)

2.0.0以上版本

<dubbo:service>

retries

retries

int

可选

2

性能调优

远程服务调用重试次数,不包括第一次调用,不需要重试请设为0

2.0.0以上版本

<dubbo:service>

connections

connections

boolean

可选

100

性能调优

对每个提供者的最大连接数,rmi、http、hessian等短连接协议支持此配置,dubbo协议长连接不支持此配置

2.0.0以上版本

<dubbo:service>

loadbalance

loadbalance

string

可选

random

性能调优

负载均衡策略,可选值:random,roundrobin,leastactive,分别表示:随机,轮循,最少活跃调用

2.0.0以上版本

<dubbo:service>

async

async

boolean

可选

false

性能调优

是否缺省异步执行,不可靠异步,只是忽略返回值,不阻塞执行线程

2.0.0以上版本

<dubbo:service>

local

local

class/boolean

可选

false

服务治理

设为true,表示使用缺省代理类名,即:接口名 + Local后缀,服务接口客户端本地代理类名,用于在客户端执行本地逻辑,如本地缓存等,该本地代理类的构造函数必须允许传入远程代理对象,构造函数如:public XxxServiceLocal(XxxService xxxService)

2.0.0以上版本

<dubbo:service>

mock

mock

class/boolean

可选

false

服务治理

设为true,表示使用缺省Mock类名,即:接口名 + Mock后缀,服务接口调用失败Mock实现类,该Mock类必须有一个无参构造函数,与Local的区别在于,Local总是被执行,而Mock只在出现非业务异常(比如超时,网络异常等)时执行,Local在远程调用之前执行,Mock在远程调用后执行。

2.0.0以上版本

<dubbo:service>

token

token

string/boolean

可选

false

服务治理

令牌验证,为空表示不开启,如果为true,表示随机生成动态令牌,否则使用静态令牌,令牌的作用是防止消费者绕过注册中心直接访问,保证注册中心的授权功能有效,如果使用点对点调用,需关闭令牌功能

2.0.0以上版本

<dubbo:service>

registry

string

可选

缺省向所有registry注册

配置关联

向指定注册中心注册,在多个注册中心时使用,值为<dubbo:registry>的id属性,多个注册中心ID用逗号分隔,如果不想将该服务注册到任何registry,可将值设为N/A

2.0.0以上版本

<dubbo:service>

provider

string

可选

缺使用第一个provider配置

配置关联

指定provider,值为<dubbo:provider>的id属性

2.0.0以上版本

<dubbo:service>

deprecated

deprecated

boolean

可选

false

服务治理

服务是否过时,如果设为true,消费方引用时将打印服务过时警告error日志

2.0.5以上版本

<dubbo:service>

dynamic

dynamic

boolean

可选

true

服务治理

服务是否动态注册,如果设为false,注册后将显示后disable状态,需人工启用,并且服务提供者停止时,也不会自动取消册,需人工禁用。

2.0.5以上版本

<dubbo:service>

accesslog

accesslog

string/boolean

可选

false

服务治理

设为true,将向logger中输出访问日志,也可填写访问日志文件路径,直接把访问日志输出到指定文件

2.0.5以上版本

<dubbo:service>

owner

owner

string

可选

服务治理

服务负责人,用于服务治理,请填写负责人公司邮箱前缀

2.0.5以上版本

<dubbo:service>

document

document

string

可选

服务治理

服务文档URL

2.0.5以上版本

<dubbo:service>

weight

weight

int

可选

性能调优

服务权重

2.0.5以上版本

<dubbo:service>

executes

executes

int

可选

0

性能调优

服务提供者每服务每方法最大可并行执行请求数

2.0.5以上版本

<dubbo:service>

actives

actives

int

可选

0

性能调优

每服务消费者每服务每方法最大并发调用数

2.0.5以上版本

<dubbo:service>

proxy

proxy

string

可选

javassist

性能调优

生成动态代理方式,可选:jdk/javassist

2.0.5以上版本

<dubbo:service>

cluster

cluster

string

可选

failover

性能调优

集群方式,可选:failover/failfast/failsafe/failback/forking

2.0.5以上版本

<dubbo:service>

filter

service.filter

string

可选

default

性能调优

服务提供方远程调用过程拦截器名称,多个名称用逗号分隔

2.0.5以上版本

<dubbo:service>

listener

exporter.listener

string

可选

default

性能调优

服务提供方导出服务监听器名称,多个名称用逗号分隔

<dubbo:service>

protocol

string

可选

配置关联

使用指定的协议暴露服务,在多协议时使用,值为<dubbo:protocol>的id属性,多个协议ID用逗号分隔

2.0.5以上版本

<dubbo:service>

layer

layer

string

可选

服务治理

服务提供者所在的分层。如:biz、dao、intl:web、china:acton。

2.0.7以上版本

<dubbo:service>

register

register

boolean

可选

true

服务治理

该协议的服务是否注册到注册中心

2.0.8以上版本

dubbo:provider

服务提供者缺省值配置:

配置类:com.alibaba.dubbo.rpc.config.ProviderConfig

说明:该标签为<dubbo:service>和<dubbo:protocol>标签的缺省值设置。

标签

属性

对应URL参数

类型

是否必填

缺省值

作用

描述

兼容性

<dubbo:provider>

id

string

可选

dubbo

配置关联

协议BeanId,可以在<dubbo:service proivder="">中引用此ID

1.0.16以上版本

<dubbo:provider>

protocol

<protocol>

string

可选

dubbo

性能调优

协议名称

1.0.16以上版本

<dubbo:provider>

host

<host>

string

可选

自动查找本机IP

服务发现

服务主机名,多网卡选择或指定VIP及域名时使用,为空则自动查找本机IP,建议不要配置,让Dubbo自动获取本机IP

1.0.16以上版本

<dubbo:provider>

threads

threads

int

可选

100

性能调优

服务线程池大小(固定大小)

1.0.16以上版本

<dubbo:provider>

payload

payload

int

可选

88388608(=8M)

性能调优

请求及响应数据包大小限制,单位:字节

2.0.0以上版本

<dubbo:provider>

path

<path>

string

可选

服务发现

提供者上下文路径,为服务path的前缀

2.0.0以上版本

<dubbo:provider>

server

server

string

可选

dubbo协议缺省为netty,http协议缺省为servlet

性能调优

协议的服务器端实现类型,比如:dubbo协议的mina,netty等,http协议的jetty,servlet等

2.0.0以上版本

<dubbo:provider>

client

client

string

可选

dubbo协议缺省为netty

性能调优

协议的客户端实现类型,比如:dubbo协议的mina,netty等

2.0.0以上版本

<dubbo:provider>

codec

codec

string

可选

dubbo

性能调优

协议编码方式

2.0.0以上版本

<dubbo:provider>

serialization

serialization

string

可选

dubbo协议缺省为hessian2,rmi协议缺省为java,http协议缺省为json

性能调优

协议序列化方式,当协议支持多种序列化方式时使用,比如:dubbo协议的dubbo,hessian2,java,compactedjava,以及http协议的json,xml等

2.0.5以上版本

<dubbo:provider>

default

boolean

可选

false

配置关联

是否为缺省协议,用于多协议

1.0.16以上版本

<dubbo:provider>

filter

service.filter

string

可选

性能调优

服务提供方远程调用过程拦截器名称,多个名称用逗号分隔

2.0.5以上版本

<dubbo:provider>

listener

exporter.listener

string

可选

性能调优

服务提供方导出服务监听器名称,多个名称用逗号分隔

2.0.5以上版本

<dubbo:provider>

threadpool

threadpool

string

可选

fixed

性能调优

线程池类型,可选:fixed/cached

2.0.5以上版本

<dubbo:provider>

accepts

accepts

int

可选

0

性能调优

服务提供者最大可接受连接数

2.0.5以上版本

<dubbo:provider>

version

version

string

可选

0.0.0

服务发现

服务版本,建议使用两位数字版本,如:1.0,通常在接口不兼容时版本号才需要升级

2.0.5以上版本

<dubbo:provider>

group

group

string

可选

服务发现

服务分组,当一个接口有多个实现,可以用分组区分

2.0.5以上版本

<dubbo:provider>

delay

delay

int

可选

0

性能调优

延迟注册服务时间(毫秒)- ,设为-1时,表示延迟到Spring容器初始化完成时暴露服务

2.0.5以上版本

<dubbo:provider>

timeout

default.timeout

int

可选

5000

性能调优

远程服务调用超时时间(毫秒)

2.0.5以上版本

<dubbo:provider>

retries

default.retries

int

可选

2

性能调优

远程服务调用重试次数,不包括第一次调用,不需要重试请设为0

2.0.5以上版本

<dubbo:provider>

connections

default.connections

int

可选

0

性能调优

每服务消费者每服务使用连接数

2.0.5以上版本

<dubbo:provider>

loadbalance

default.loadbalance

string

可选

random

性能调优

负载均衡策略,可选值:random,roundrobin,leastactive,分别表示:随机,轮循,最少活跃调用

2.0.5以上版本

<dubbo:provider>

async

default.async

boolean

可选

false

性能调优

是否缺省异步执行,不可靠异步,只是忽略返回值,不阻塞执行线程

2.0.5以上版本

<dubbo:provider>

local

local

boolean

可选

false

服务治理

设为true,表示使用缺省代理类名,即:接口名 + Local后缀。

2.0.5以上版本

<dubbo:provider>

mock

mock

boolean

可选

false

服务治理

设为true,表示使用缺省Mock类名,即:接口名 + Mock后缀。

2.0.5以上版本

<dubbo:provider>

token

token

boolean

可选

false

服务治理

令牌验证,为空表示不开启,如果为true,表示随机生成动态令牌

2.0.5以上版本

<dubbo:provider>

registry

registry

string

可选

缺省向所有registry注册

配置关联

向指定注册中心注册,在多个注册中心时使用,值为<dubbo:registry>的id属性,多个注册中心ID用逗号分隔,如果不想将该服务注册到任何registry,可将值设为N/A

2.0.5以上版本

<dubbo:provider>

dynamic

dynamic

boolean

可选

true

服务治理

服务是否动态注册,如果设为false,注册后将显示后disable状态,需人工启用,并且服务提供者停止时,也不会自动取消册,需人工禁用。

2.0.5以上版本

<dubbo:provider>

accesslog

accesslog

string/boolean

可选

false

服务治理

设为true,将向logger中输出访问日志,也可填写访问日志文件路径,直接把访问日志输出到指定文件

2.0.5以上版本

<dubbo:provider>

owner

owner

string

可选

服务治理

服务负责人,用于服务治理,请填写负责人公司邮箱前缀

2.0.5以上版本

<dubbo:provider>

document

document

string

可选

服务治理

服务文档URL

2.0.5以上版本

<dubbo:provider>

weight

weight

int

可选

性能调优

服务权重

2.0.5以上版本

<dubbo:provider>

executes

executes

int

可选

0

性能调优

服务提供者每服务每方法最大可并行执行请求数

2.0.5以上版本

<dubbo:provider>

actives

default.actives

int

可选

0

性能调优

每服务消费者每服务每方法最大并发调用数

2.0.5以上版本

<dubbo:provider>

proxy

proxy

string

可选

javassist

性能调优

生成动态代理方式,可选:jdk/javassist

2.0.5以上版本

<dubbo:provider>

cluster

default.cluster

string

可选

failover

性能调优

集群方式,可选:failover/failfast/failsafe/failback/forking

2.0.5以上版本

<dubbo:provider>

deprecated

deprecated

boolean

可选

false

服务治理

服务是否过时,如果设为true,消费方引用时将打印服务过时警告error日志

2.0.5以上版本

<dubbo:provider>

queues

queues

int

可选

0

性能调优

线程池队列大小,当线程池满时,排队等待执行的队列大小,建议不要设置,当线程程池时应立即失败,重试其它服务提供机器,而不是排队,除非有特殊需求。

2.0.5以上版本

<dubbo:provider>

charset

charset

string

可选

UTF-8

性能调优

序列化编码

2.0.5以上版本

<dubbo:provider>

buffer

buffer

int

可选

8192

性能调优

网络读写缓冲区大小

2.0.5以上版本

<dubbo:provider>

iothreads

iothreads

int

可选

CPU + 1

性能调优

IO线程池,接收网络读写中断,以及序列化和反序列化,不处理业务,业务线程池参见threads配置,此线程池和CPU相关,不建议配置。

2.0.5以上版本

<dubbo:provider>

telnet

telnet

string

可选

服务治理

所支持的telnet命令,多个命令用逗号分隔

2.0.5以上版本

<dubbo:provider>

layer

layer

string

可选

服务治理

服务提供者所在的分层。如:biz、dao、intl:web、china:acton。

2.0.7以上版本

dubbo:reference

服务消费者引用服务配置:

配置类:com.alibaba.dubbo.rpc.config.ReferenceConfig

标签

属性

对应URL参数

类型

是否必填

缺省值

作用

描述

兼容性

<dubbo:reference>

id

string

必填

配置关联

服务引用BeanId

1.0.0以上版本

<dubbo:reference>

interface

class

必填

服务发现

服务接口名

1.0.0以上版本

<dubbo:reference>

version

version

string

可选

服务发现

服务版本,与服务提供者的版本一致

1.0.0以上版本

<dubbo:reference>

group

group

string

可选

服务发现

服务分组,当一个接口有多个实现,可以用分组区分,必需和服务提供方一致

1.0.7以上版本

<dubbo:reference>

timeout

timeout

long

可选

缺省使用<dubbo:consumer>的timeout

性能调优

服务方法调用超时时间(毫秒)

1.0.5以上版本

<dubbo:reference>

retries

retries

int

可选

缺省使用<dubbo:consumer>的retries

性能调优

远程服务调用重试次数,不包括第一次调用,不需要重试请设为0

2.0.0以上版本

<dubbo:reference>

connections

connections

int

可选

缺省使用<dubbo:consumer>的connections

性能调优

对每个提供者的最大连接数,rmi、http、hessian等短连接协议支持此配置,dubbo协议长连接不支持此配置

2.0.0以上版本

<dubbo:reference>

loadbalance

loadbalance

string

可选

缺省使用<dubbo:consumer>的loadbalance

性能调优

负载均衡策略,可选值:random,roundrobin,leastactive,分别表示:随机,轮循,最少活跃调用

2.0.0以上版本

<dubbo:reference>

async

async

boolean

可选

缺省使用<dubbo:consumer>的async

性能调优

是否异步执行,不可靠异步,只是忽略返回值,不阻塞执行线程

2.0.0以上版本

<dubbo:reference>

generic

generic

boolean

可选

缺省使用<dubbo:consumer>的generic

服务治理

是否缺省泛化接口,如果为泛化接口,将返回GenericService

2.0.0以上版本

<dubbo:reference>

check

check

boolean

可选

缺省使用<dubbo:consumer>的check

服务治理

启动时检查提供者是否存在,true报错,false忽略

2.0.0以上版本

<dubbo:reference>

url

<url>

string

可选

服务治理

点对点直连服务提供者地址,将绕过注册中心

1.0.6以上版本

<dubbo:reference>

local

local

class

可选

服务治理

服务接口客户端本地代理类名,用于在客户端执行本地逻辑,如本地缓存等,该本地代理类的构造函数必须允许传入远程代理对象,构造函数如:public XxxServiceLocal(XxxService xxxService)

2.0.0以上版本

<dubbo:reference>

mock

mock

class

可选

服务治理

服务接口调用失败Mock实现类名,该Mock类必须有一个无参构造函数,与Local的区别在于,Local总是被执行,而Mock只在出现非业务异常(比如超时,网络异常等)时执行,Local在远程调用之前执行,Mock在远程调用后执行。

Dubbo1.0.13及其以上版本支持

<dubbo:reference>

proxy

proxy

boolean

可选

javassist

性能调优

选择动态代理实现策略,可选:javassist, jdk

2.0.2以上版本

<dubbo:reference>

client

client

string

可选

性能调优

客户端传输类型设置,如Dubbo协议的netty或mina。

Dubbo2.0.0以上版本支持

<dubbo:reference>

registry

string

可选

缺省将从所有注册中心获服务列表后合并结果

配置关联

从指定注册中心注册获取服务列表,在多个注册中心时使用,值为<dubbo:registry>的id属性,多个注册中心ID用逗号分隔

2.0.0以上版本

<dubbo:reference>

owner

owner

string

可选

服务治理

调用服务负责人,用于服务治理,请填写负责人公司邮箱前缀

2.0.5以上版本

<dubbo:reference>

actives

actives

int

可选

0

性能调优

每服务消费者每服务每方法最大并发调用数

2.0.5以上版本

<dubbo:reference>

proxy

proxy

string

可选

javassist

性能调优

生成动态代理方式,可选:jdk/javassist

2.0.5以上版本

<dubbo:reference>

cluster

cluster

string

可选

failover

性能调优

集群方式,可选:failover/failfast/failsafe/failback/forking

2.0.5以上版本

<dubbo:reference>

filter

reference.filter

string

可选

default

性能调优

服务消费方远程调用过程拦截器名称,多个名称用逗号分隔

2.0.5以上版本

<dubbo:reference>

listener

invoker.listener

string

可选

default

性能调优

服务消费方引用服务监听器名称,多个名称用逗号分隔

2.0.5以上版本

<dubbo:reference>

layer

layer

string

可选

服务治理

服务调用者所在的分层。如:biz、dao、intl:web、china:acton。

2.0.7以上版本

dubbo:consumer

服务消费者缺省值配置:

配置类:com.alibaba.dubbo.rpc.config.ConsumerConfig

说明:该标签为<dubbo:reference>标签的缺省值设置。

标签

属性

对应URL参数

类型

是否必填

缺省值

作用

描述

兼容性

<dubbo:consumer>

timeout

default.timeout

int

可选

5000

性能调优

远程服务调用超时时间(毫秒)

1.0.16以上版本

<dubbo:consumer>

retries

default.retries

int

可选

2

性能调优

远程服务调用重试次数,不包括第一次调用,不需要重试请设为0

1.0.16以上版本

<dubbo:consumer>

loadbalance

default.loadbalance

string

可选

random

性能调优

负载均衡策略,可选值:random,roundrobin,leastactive,分别表示:随机,轮循,最少活跃调用

1.0.16以上版本

<dubbo:consumer>

async

default.async

boolean

可选

false

性能调优

是否缺省异步执行,不可靠异步,只是忽略返回值,不阻塞执行线程

2.0.0以上版本

<dubbo:consumer>

connections

default.connections

int

可选

100

性能调优

每个服务对每个提供者的最大连接数,rmi、http、hessian等短连接协议支持此配置,dubbo协议长连接不支持此配置

1.0.16以上版本

<dubbo:consumer>

generic

generic

boolean

可选

false

服务治理

是否缺省泛化接口,如果为泛化接口,将返回GenericService

2.0.0以上版本

<dubbo:consumer>

check

check

boolean

可选

true

服务治理

启动时检查提供者是否存在,true报错,false忽略

1.0.16以上版本

<dubbo:consumer>

proxy

proxy

string

可选

javassist

性能调优

生成动态代理方式,可选:jdk/javassist

2.0.5以上版本

<dubbo:consumer>

owner

owner

string

可选

服务治理

调用服务负责人,用于服务治理,请填写负责人公司邮箱前缀

2.0.5以上版本

<dubbo:consumer>

actives

default.actives

int

可选

0

性能调优

每服务消费者每服务每方法最大并发调用数

2.0.5以上版本

<dubbo:consumer>

cluster

default.cluster

string

可选

failover

性能调优

集群方式,可选:failover/failfast/failsafe/failback/forking

2.0.5以上版本

<dubbo:consumer>

filter

reference.filter

string

可选

性能调优

服务消费方远程调用过程拦截器名称,多个名称用逗号分隔

2.0.5以上版本

<dubbo:consumer>

listener

invoker.listener

string

可选

性能调优

服务消费方引用服务监听器名称,多个名称用逗号分隔

2.0.5以上版本

<dubbo:consumer>

registry

string

可选

缺省向所有registry注册

配置关联

向指定注册中心注册,在多个注册中心时使用,值为<dubbo:registry>的id属性,多个注册中心ID用逗号分隔,如果不想将该服务注册到任何registry,可将值设为N/A

2.0.5以上版本

<dubbo:consumer>

layer

layer

string

可选

服务治理

服务调用者所在的分层。如:biz、dao、intl:web、china:acton。

2.0.7以上版本

dubbo:parameter

选项参数配置:

配置类:java.util.Map

说明:该标签为<dubbo:protocol>或<dubbo:service>或<dubbo:provider>或<dubbo:reference>或<dubbo:consumer>的子标签,用于配置自定义参数,该配置项将作为扩展点设置自定义参数使用。

标签

属性

对应URL参数

类型

是否必填

缺省值

作用

描述

兼容性

<dubbo:parameter>

key

key

string

必填

服务治理

路由参数键

2.0.0以上版本

<dubbo:parameter>

value

value

string

必填

服务治理

路由参数值

2.0.0以上版本

比如:

<dubbo:protocol name="napoli">

    <dubbo:parameterkey="napoli.queue.name"value="xxx"/>

</dubbo:protocol>

方法级配置:dubbo:method

配置类:com.alibaba.dubbo.rpc.config.MethodConfig

说明:该标签为<dubbo:service>或<dubbo:reference>的子标签,用于控制到方法级,

标签

属性

对应URL参数

类型

是否必填

缺省值

作用

描述

兼容性

<dubbo:method>

name

string

必填

标识

方法名

1.0.8以上版本

<dubbo:method>

timeout

<metodName>.timeout

int

可选

缺省为的timeout

性能调优

方法调用超时时间(毫秒)

1.0.8以上版本

<dubbo:method>

retries

<metodName>.retries

int

可选

缺省为<dubbo:reference>的retries

性能调优

远程服务调用重试次数,不包括第一次调用,不需要重试请设为0

2.0.0以上版本

<dubbo:method>

loadbalance

<metodName>.loadbalance

string

可选

缺省为的loadbalance

性能调优

负载均衡策略,可选值:random,roundrobin,leastactive,分别表示:随机,轮循,最少活跃调用

2.0.0以上版本

<dubbo:method>

async

<metodName>.async

boolean

可选

缺省为<dubbo:reference>的async

性能调优

是否异步执行,不可靠异步,只是忽略返回值,不阻塞执行线程

1.0.9以上版本

<dubbo:method>

sent

<methodName>.sent

boolean

可选

true

性能调优

异步调用时,标记sent=true时,表示网络已发出数据

2.0.6以上版本

<dubbo:method>

actives

<metodName>.actives

int

可选

0

性能调优

每服务消费者最大并发调用限制

2.0.5以上版本

<dubbo:method>

executes

<metodName>.executes

int

可选

0

性能调优

每服务每方法最大使用线程数限制- -,此属性只在<dubbo:method>作为<dubbo:service>子标签时有效

2.0.5以上版本

<dubbo:method>

deprecated

<methodName>.deprecated

boolean

可选

false

服务治理

服务方法是否过时,此属性只在<dubbo:method>作为<dubbo:service>子标签时有效

2.0.5以上版本

<dubbo:method>

sticky

<methodName>.sticky

boolean

可选

false

服务治理

设置true 该接口上的所有方法使用同一个provider.如果需要更复杂的规则,请使用用路由

2.0.6以上版本

<dubbo:method>

return

<methodName>.return

boolean

可选

true

性能调优

方法调用是否需要返回值,async设置为true时才生效,如果设置为true,则返回future,或回调onreturn等方法,如果设置为false,则请求发送成功后直接返回Null

2.0.6以上版本

<dubbo:method>

oninvoke

attribute属性,不在URL中体现

String

可选

性能调优

方法执行前拦截

2.0.6以上版本

<dubbo:method>

onreturn

attribute属性,不在URL中体现

String

可选

性能调优

方法执行返回后拦截

2.0.6以上版本

<dubbo:method>

onthrow

attribute属性,不在URL中体现

String

可选

性能调优

方法执行有异常拦截

2.0.6以上版本

比如:

<dubbo:referenceinterface="com.xxx.XxxService">

    <dubbo:methodname="findXxx"timeout=""retries=""/>

</dubbo:reference>

方法参数配置:dubbo:argument

配置类:com.alibaba.dubbo.rpc.config.ArgumentConfig

说明:该标签为<dubbo:method>的子标签,用于方法参数的特征描述,比如:

<dubbo:method name="findXxx" timeout="3000" retries="2">

<dubbo:argument index="0"callback="true"/>

<dubbo:method>

标签

属性

对应URL参数

类型

是否必填

缺省值

作用

描述

兼容性

<dubbo:argument>

index

int

必填

标识

方法名

2.0.6以上版本

<dubbo:argument>

type

String

与index二选一

标识

通过参数类型查找参数的index

2.0.6以上版本

<dubbo:argument>

callback

<metodName><index>.retries

boolean

可选

服务治理

参数是否为callback接口,如果为callback,服务提供方将生成反向代理,可以从服务提供方反向调用消费方,通常用于事件推送.

2.0.6以上版本

dubbo配置指南的更多相关文章

  1. dubbo用户指南

    用户指南 入门 背景 需求 架构 用法 快速启动 服务提供者 服务消费者 依赖 必需依赖 缺省依赖 可选依赖 成熟度 功能成熟度 策略成熟度 配置 Xml配置 属性配置 注解配置 API配置 示例 启 ...

  2. dubbo用户指南-总结

    dubbo用户指南-总结 入门 背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进. 单一应用 ...

  3. dubbo开发者指南

    开发者指南 参与 流程 任务 版本管理 源码构建 框架设计 整体设计 模块分包 依赖关系 调用链 暴露服务时序 引用服务时序 领域模型 基本原则 扩展点加载 扩展点配置 扩展点自动包装 扩展点自动装配 ...

  4. Visual Studio Code 配置指南

    Visual Studio Code (简称 VS Code)是由微软研发的一款免费.开源的跨平台文本(代码)编辑器.在我看来它是「一款完美的编辑器」. 本文是有关 VS Code 的特性介绍与配置指 ...

  5. [转载]SharePoint 2013测试环境安装配置指南

    软件版本 Windows Server 2012 标准版 SQL Server 2012 标准版 SharePoint Server 2013 企业版 Office Web Apps 2013 备注: ...

  6. P6 EPPM 安装与配置指南 16 R1 2016.4

       关于安装和 配置P6 EPPM 本指南告诉你如何自动 安装和配置您的应用程序. 在您开始之前,阅读 先决条件 P6 EPPM配置 (7页). 安装P6 EPPM 您将使用 安装程序 (窗口) . ...

  7. P6 EPPM 16.1 安装和配置指南 1

    安装和配置指南下一topiccontents这些指南解释如何安装和配置数据库服务器,和P6 EPPM,模块:他们还提供在P6 EPPM能够解决所有模块的概述.标准指南帮助您配置和部署应用程序向导P6 ...

  8. P6 EPPM R16.1安装与配置指南(三)

    P6 EPPM R16.1安装与配置指南(三) 解压:V137390-01.zip 修改 D:\P6_R161\p6suite\database\dbsetup.bat   的行 SET JAR_FI ...

  9. P6 EPPM R16.1安装与配置指南(二)

    P6 EPPM R16.1安装与配置指南(一) http://www.cnblogs.com/endv/p/5634620.html P6 EPPM R16.1安装与配置指南(二) 环境变量配置 新建 ...

随机推荐

  1. 九度oj 题目1367:二叉搜索树的后序遍历序列

    题目描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. 输入: 每个测试案例包括2行: 第一行为1个整数 ...

  2. 周赛Problem 1108: 蛋糕(二分)

    1108: 蛋糕 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 17  Solved: 4 Description 杨神打代码打得有点疲倦,于是他想要 ...

  3. 解开Future的神秘面纱之任务执行

    此文承接之前的博文 解开Future的神秘面纱之取消任务 补充一些任务执行的一些细节,并从全局介绍程序的运行情况. 任务提交到执行的流程 前文我们已经了解到一些Future的实现细节,这里我们来梳理一 ...

  4. POJ 2396 Budget ——有上下界的网络流

    给定矩阵的每行每列的和,和一些大于小于等于的限制.然后需要求出一组可行解. 上下界网络流. 大概的思想就是计算出每一个点他需要强行流入或者流出的量,然后建出超级源点和汇点,然后删除下界,就可以判断是否 ...

  5. HDU 4819 Mosaic 【二维线段树】

    题目大意:给你一个n*n的矩阵,每次找到一个点(x,y)周围l*l的子矩阵中的最大值a和最小值b,将(x,y)更新为(a+b)/2 思路:裸的二维线段树 #include<iostream> ...

  6. ES6的一些说明

    一 ES6 即 ECMAScript6 ECMAScript 6.0(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了.它的目标,是使得JavaScript语言可 ...

  7. Lucky and Good Months by Gregorian Calendar(poj 3393)

    大致题意: 科普文一篇,文章80%都是无用信息,因为都是常识,但是又不得不看,因为有20%是常人不知道的历史常识. 定义: Goog month : 该月第一个工作日为星期一的月份 Luckly mo ...

  8. 关于事件委托和时间冒泡(以及apply和call的事项)

    搜索事件委托和事件冒泡,网上一大堆乱七八糟的解释,当然意思都对,没毛病. but,真的无聊. 事件冒泡:事件会从点击的元素开始依次向上流出,直到html,遇见事件监听则执行. 事件委托:原因——父元素 ...

  9. msp430项目编程43

    msp430综合项目---蓝牙控制直流电机调速系统43 1.电路工作原理 2.代码(显示部分) 3.代码(功能实现) 4.项目总结

  10. js可以控制文件上传的速度吗?

    为了减轻服务器负载,对于上传和下载的情况,我们需要进行流量控制,一般的方法是服务端做限流举措,比如很多ftp服务器,但是我想是不是可以使用前端js做呢? 顺着这个想法,我查了下资料,目前来看结论是No ...