Dubbo在XML中各配置标签属性含义

前言:

      Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。

其核心部分包含:

     1. 远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。
     2. 集群容错: 提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。
     3. 自动发现: 基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器。

其主要特性包含:

(1) 连通性:

  • 注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小

  • 监控中心负责统计各服务调用次数,调用时间等,统计先在内存汇总后每分钟一次发送到监控中心服务器,并以报表展示

  • 服务提供者向注册中心注册其提供的服务,并汇报调用时间到监控中心,此时间不包含网络开销

  • 服务消费者向注册中心获取服务提供者地址列表,并根据负载算法直接调用提供者,同时汇报调用时间到监控中心,此时间包含网络开销

  • 注册中心,服务提供者,服务消费者三者之间均为长连接,监控中心除外

  • 注册中心通过长连接感知服务提供者的存在,服务提供者宕机,注册中心将立即推送事件通知消费者

  • 注册中心和监控中心全部宕机,不影响已运行的提供者和消费者,消费者在本地缓存了提供者列表

  • 注册中心和监控中心都是可选的,服务消费者可以直连服务提供者

(2) 健状性:

  • 监控中心宕掉不影响使用,只是丢失部分采样数据

  • 数据库宕掉后,注册中心仍能通过缓存提供服务列表查询,但不能注册新服务

  • 注册中心对等集群,任意一台宕掉后,将自动切换到另一台

  • 注册中心全部宕掉后,服务提供者和服务消费者仍能通过本地缓存通讯

  • 服务提供者无状态,任意一台宕掉后,不影响使用

  • 服务提供者全部宕掉后,服务消费者应用将无法使用,并无限次重连等待服务提供者恢复

(3) 伸缩性:

  • 注册中心为对等集群,可动态增加机器部署实例,所有客户端将自动发现新的注册中心

  • 服务提供者无状态,可动态增加机器部署实例,注册中心将推送新的服务提供者信息给消费者

想要使用一个服务框架,首先得对它的基础内容做一定的了解,下面我们来了解一下dubbo在XML配置文件中各标签以及配置属性的含义
 
<dubbo:application/> 应用配置信息,不管是提供者还是消费者。XML解析所对应的bean为com.alibaba.dubbo.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/>注册中心配置信息,可以配置多个,递增配置条目即可。XML解析对应的bean为com.alibaba.dubbo.config.RegistryConfig
可配置的属性有:

标签

属性名称

对应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:protocol/>服务提供者所暴露的协议配置信息,可配置多个此标签,需要在<dubbo:service>中通过protocol属性指定使用的协议。
XML解析对应的bean为com.alibaba.dubbo.config.ProtocolConfig
可配置的属性有:

标签

属性

对应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/>服务提供者暴露服务配置,XML解析对应的bean为:com.alibaba.dubbo.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/>服务提供者缺省值配置,该标签为<dubbo:service>和<dubbo:protocol>标签的缺省值设置.
XML解析对应的bean为:com.alibaba.dubbo.config.ProviderConfig
可配置的属性有:

标签

属性

对应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/>服务消费者引用服务配置,XML解析对应的bean为:com.alibaba.dubbo.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

在远程调用

后执行。

Dubbo

1.0.13

及其以

上版本

支持

<dubbo:reference>

proxy

proxy

boolean

可选

javassist

性能调优

选择动态代

理实现策略

,可选:

javassist,

jdk

2.0.2以

上版本

<dubbo:reference>

client

client

string

可选

 

性能调优

客户端传输

类型设置,

如Dubbo

协议的netty

或mina。

Dubbo

2.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:monitor/>监控中心配置信息,此为可选标签。XML解析对应的bean为com.alibaba.dubbo.config.MonitorConfig
可配置的属性有:

标签属性名称对应
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:monitor>
protocolprotocolstring
可选
N/A服务

治理
监控中心协议,如果为
protocol="registry",
表示从注册中心发现
监控中心地址,否则直连监控中心
1.0.16

以上

版本
<dubbo:monitor>
usernameusernamestring
可选
N/A服务

治理
登录监控中心用户名,

如果监控中心不需要

验证可不填
1.0.16

以上

版本
<dubbo:monitor>
passwordpasswordstring
可选
N/A服务

治理

登录监控中心密码,
如果监控中心不需要验
证可不填                                       
1.0.16

以上

版本
<dubbo:monitor>
groupgroupstring
可选
N/A服务

治理
所属资源组1.0.16

以上

版本
<dubbo:monitor>
versionversionstring
可选
N/A服务

治理
版本1.0.16

以上

版本
 
<dubbo:consumer/>服务消费者缺省值配置,该标签为<dubbo:reference>标签的缺省值设置。
XML解析对应的bean为:com.alibaba.dubbo.config.ConsumerConfig
可配置的属性有:

标签

属性

对应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:method/>子标签,定义方法级配置,该标签为<dubbo:service>或<dubbo:reference>的子标签,用于控制到方法级。
XML解析对应bean为:com.alibaba.dubbo.config.MethodConfig
可配置属性有:

标签

属性

对应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:argument/>子标签,该标签为<dubbo:method>的子标签,用于方法参数的特征描述。
XML解析对应bean为:com.alibaba.dubbo.rpc.config.ArgumentConfig
可配置的属性有:

标签

属性

对应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:method name="methodName"   timeout="3000"   retries="2">

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

<dubbo:method>


<dubbo:annotation>使用注解配置dubbo标签,需要和spring的注解扫描器搭配使用
可配置属性有:

标签

属性

对应URL参数

类型

是否必填

缺省值

作用

描述

兼容性

<dubbo:annotation>

id

key

string

必填

 

初始化ID


2.0.0以

上版本

<dubbo:annotation>

package

value

string

必填

 

服务初始化

需要扫描的包

,此包

中的接口或

实现类

采用了dubbo

的注解

2.0.0以

上版本

举例说明如下:

package com.zht.service.impl;

import org.springframework.stereotype.Component;
import com.alibaba.dubbo.config.annotation.Service;
import com.zht.service.RegistryService;

@Component  //使用的是spring的注解
@Service  //使用的是dubbo的注解
public class RegistryServiceImpl2 implements RegistryService {

	@Override
	public String hello(String name) {
		// TODO Auto-generated method stub
		return "hello dubbo annotation";
	}
	@Override
	public String hello2(String name) {
		// TODO Auto-generated method stub
		return "hello dubbo annotation2";
	}
}

PS:以上这些内容就是我们在XML中配置dubbo需要使用到的标签,可能有些地方理解有错误或者有遗漏的地方,欢迎给我留言。。。


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值