https://blog.csdn.net/zcw4237256/article/details/78369213
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zcw4237256/article/details/78369213 </div>
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-cd6c485e8b.css">
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-cd6c485e8b.css">
<div class="htmledit_views" id="content_views">
dubbo配置指南
- 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
应用信息配置:
配置类:com.alibaba.dubbo.rpc.config.ApplicationConfig
标签
属性
对应URL参数
类型
是否必填
缺省值
作用
描述
兼容性
name
application
string
必填
服务治理
当前应用名称,用于注册中心计算应用间依赖关系,注意:消费者和提供者应用名不要一样,此参数不是匹配条件,你当前项目叫什么名字就填什么,和提供者消费者角色无关,比如:kylin应用调用了morgan应用的服务,则kylin项目配成kylin,morgan项目配成morgan,可能kylin也提供其它服务给别人使用,但kylin项目永远配成kylin,这样注册中心将显示kylin依赖于morgan
1.0.16以上版本
organization
organization
string
可选
服务治理
组织名称(BU或部门),用于注册中心区分服务来源,此配置项建议不要使用autoconfig,直接写死在配置中,比如china,intl,itu,crm,asc,dw,aliexpress等
2.0.0以上版本
organization
organization
string
可选
服务治理
用于服务分层对应的架构。如,intl、china。不同的架构使用不同的分层。
2.0.7以上版本
environment
environment
string
可选
服务治理
应用环境,如:develop/test/product,不同环境使用不同的缺省值,以及作为只用于开发测试功能的限制条件
2.0.0以上版本
owner
owner
string
可选
服务治理
应用负责人,用于服务治理,请填写负责人公司邮箱前缀
2.0.5以上版本
注册中心配置:
配置类:com.alibaba.dubbo.rpc.config.RegistryConfig
说明:如果有多个不同的注册中心,可以声明多个<dubbo:registry>标签,并在<dubbo:service>或<dubbo:reference>的registry属性指定使用的注册中心。
标签
属性
对应URL参数
类型
是否必填
缺省值
作用
描述
兼容性
id
string
可选
配置关联
注册中心引用BeanId,可以在<dubbo:serviceregistry=“”>或<dubbo:referenceregistry=“”>中引用此ID
1.0.16以上版本
address
string
必填
服务发现
注册中心服务器地址,如果地址没有端口缺省为9090,同一集群内的多个地址用逗号分隔,如:ip:port,ip:port,不同集群的注册中心,请配置多个<dubbo:registry>标签
1.0.16以上版本
protocol
string
可选
dubbo
服务发现
注同中心地址协议,支持dubbo, http, local三种协议,分别表示,dubbo地址,http地址,本地注册中心
2.0.0以上版本
port
int
可选
9090
服务发现
注册中心缺省端口,当address没有带端口时使用此端口做为缺省值
2.0.0以上版本
username
string
可选
服务治理
登录注册中心用户名,如果注册中心不需要验证可不填
2.0.0以上版本
password
string
可选
服务治理
登录注册中心密码,如果注册中心不需要验证可不填
2.0.0以上版本
transport
registry.transporter
string
可选
netty
性能调优
网络传输方式,可选mina,netty
2.0.0以上版本
timeout
registry.timeout
int
可选
5000
性能调优
注册中心请求超时时间(毫秒)
2.0.0以上版本
file
registry.file
string
可选
服务治理
使用文件缓存注册中心地址列表及服务提供者列表,应用重启时将基于此文件恢复,注意:两个注册中心不能使用同一文件存储
2.0.0以上版本
wait
registry.wait
int
可选
0
性能调优
停止时等待通知完成时间(毫秒)
2.0.0以上版本
check
check
boolean
可选
true
服务治理
注册中心不存在时,是否报错
2.0.0以上版本
register
register
boolean
可选
true
服务治理
是否向此注册中心注册服务,如果设为false,将只订阅,不注册
2.0.5以上版本
subscribe
subscribe
boolean
可选
true
服务治理
是否向此注册中心订阅服务,如果设为false,将只注册,不订阅
2.0.5以上版本
dynamic
dynamic
boolean
可选
true
服务治理
服务是否动态注册,如果设为false,注册后将显示后disable状态,需人工启用,并且服务提供者停止时,也不会自动取消册,需人工禁用。
2.0.5以上版本
监控中心配置:
配置类:com.alibaba.dubbo.rpc.config.MethodConfig
说明:该配置为logstat地址配置,建议使用dragoon2.5代替,logstat将逐步停用。
标签
属性
对应URL参数
类型
是否必填
缺省值
作用
描述
兼容性
address
string
可选
N/A
服务治理
监控中心服务器地址,格式:ip:port,(1)如配置为address=“10.20.130.230:12080”, 则为使用logstat监控
(2)如未添加该配置,或者address=“N/A”, 则会去加载comsat.xml, 如果找到,就使用comsat监控;如果没找到,就不做监控
1.0.16以上版本
服务提供者协议配置:
配置类:com.alibaba.dubbo.rpc.config.ProtocolConfig
说明:如果需要支持多协议,可以声明多个<dubbo:protocol>标签,并在<dubbo:service>中通过protocol属性指定使用的协议。
标签
属性
对应URL参数
类型
是否必填
缺省值
作用
描述
兼容性
id
string
可选
dubbo
配置关联
协议BeanId,可以在<dubbo:serviceproivder=“”>中引用此ID
2.0.5以上版本
name
string
必填
dubbo
性能调优
协议名称
2.0.5以上版本
port
int
可选
dubbo协议缺省端口为20880,rmi协议缺省端口为1099,http和hessian协议缺省端口为80
服务发现
服务端口
2.0.5以上版本
host
string
可选
自动查找本机IP
服务发现
-服务主机名,多网卡选择或指定VIP及域名时使用,为空则自动查找本机IP,-建议不要配置,让Dubbo自动获取本机IP
2.0.5以上版本
threadpool
threadpool
string
可选
fixed
性能调优
线程池类型,可选:fixed/cached
2.0.5以上版本
threads
threads
int
可选
100
性能调优
服务线程池大小(固定大小)
2.0.5以上版本
iothreads
threads
int
可选
cpu个数+1
性能调优
io线程池大小(固定大小)
2.0.5以上版本
accepts
accepts
int
可选
0
性能调优
服务提供方最大可接受连接数
2.0.5以上版本
payload
payload
int
可选
88388608(=8M)
性能调优
请求及响应数据包大小限制,单位:字节
2.0.5以上版本
codec
codec
string
可选
dubbo
性能调优
协议编码方式
2.0.5以上版本
serialization
serialization
string
可选
dubbo协议缺省为hessian2,rmi协议缺省为java,http协议缺省为json
性能调优
协议序列化方式,当协议支持多种序列化方式时使用,比如:dubbo协议的dubbo,hessian2,java,compactedjava,以及http协议的json等
2.0.5以上版本
accesslog
accesslog
string/boolean
可选
服务治理
设为true,将向logger中输出访问日志,也可填写访问日志文件路径,直接把访问日志输出到指定文件
2.0.5以上版本
path
string
可选
服务发现
提供者上下文路径,为服务path的前缀
2.0.5以上版本
server
server
string
可选
dubbo协议缺省为netty,http协议缺省为servlet
性能调优
协议的服务器端实现类型,比如:dubbo协议的mina,netty等,http协议的jetty,servlet等
2.0.5以上版本
client
client
string
可选
dubbo协议缺省为netty
性能调优
协议的客户端实现类型,比如:dubbo协议的mina,netty等
2.0.5以上版本
queues
queues
int
可选
0
性能调优
线程池队列大小,当线程池满时,排队等待执行的队列大小,建议不要设置,当线程程池时应立即失败,重试其它服务提供机器,而不是排队,除非有特殊需求。
2.0.5以上版本
charset
charset
string
可选
UTF-8
性能调优
序列化编码
2.0.5以上版本
buffer
buffer
int
可选
8192
性能调优
网络读写缓冲区大小
2.0.5以上版本
telnet
telnet
string
可选
服务治理
所支持的telnet命令,多个命令用逗号分隔
2.0.5以上版本
register
register
boolean
可选
true
服务治理
该协议的服务是否注册到注册中心
2.0.8以上版本
服务提供者暴露服务配置:
配置类:com.alibaba.dubbo.rpc.config.ServiceConfig
标签
属性
对应URL参数
类型
是否必填
缺省值
作用
描述
兼容性
interface
class
必填
服务发现
服务接口名
1.0.0以上版本
ref
object
必填
服务发现
服务对象实现引用
1.0.0以上版本
version
version
string
可选
0.0.0
服务发现
服务版本,建议使用两位数字版本,如:1.0,通常在接口不兼容时版本号才需要升级
1.0.0以上版本
group
group
string
可选
服务发现
服务分组,当一个接口有多个实现,可以用分组区分
1.0.7以上版本
path
string
可选
缺省为接口名
服务发现
服务路径 (注意:1.0不支持自定义路径,总是使用接口名,如果有1.0调2.0,配置服务路径可能不兼容)
1.0.12以上版本
delay
delay
int
可选
0
性能调优
延迟注册服务时间(毫秒) ,设为-1时,表示延迟到Spring容器初始化完成时暴露服务
1.0.14以上版本
timeout
timeout
int
可选
5000
性能调优
远程服务调用超时时间(毫秒)
2.0.0以上版本
retries
retries
int
可选
2
性能调优
远程服务调用重试次数,不包括第一次调用,不需要重试请设为0
2.0.0以上版本
connections
connections
boolean
可选
100
性能调优
对每个提供者的最大连接数,rmi、http、hessian等短连接协议支持此配置,dubbo协议长连接不支持此配置
2.0.0以上版本
loadbalance
loadbalance
string
可选
random
性能调优
负载均衡策略,可选值:random,roundrobin,leastactive,分别表示:随机,轮循,最少活跃调用
2.0.0以上版本
async
async
boolean
可选
false
性能调优
是否缺省异步执行,不可靠异步,只是忽略返回值,不阻塞执行线程
2.0.0以上版本
local
local
class/boolean
可选
false
服务治理
设为true,表示使用缺省代理类名,即:接口名 + Local后缀,服务接口客户端本地代理类名,用于在客户端执行本地逻辑,如本地缓存等,该本地代理类的构造函数必须允许传入远程代理对象,构造函数如:public XxxServiceLocal(XxxService xxxService)
2.0.0以上版本
mock
mock
class/boolean
可选
false
服务治理
设为true,表示使用缺省Mock类名,即:接口名 + Mock后缀,服务接口调用失败Mock实现类,该Mock类必须有一个无参构造函数,与Local的区别在于,Local总是被执行,而Mock只在出现非业务异常(比如超时,网络异常等)时执行,Local在远程调用之前执行,Mock在远程调用后执行。
2.0.0以上版本
token
token
string/boolean
可选
false
服务治理
令牌验证,为空表示不开启,如果为true,表示随机生成动态令牌,否则使用静态令牌,令牌的作用是防止消费者绕过注册中心直接访问,保证注册中心的授权功能有效,如果使用点对点调用,需关闭令牌功能
2.0.0以上版本
registry
string
可选
缺省向所有registry注册
配置关联
向指定注册中心注册,在多个注册中心时使用,值为<dubbo:registry>的id属性,多个注册中心ID用逗号分隔,如果不想将该服务注册到任何registry,可将值设为N/A
2.0.0以上版本
provider
string
可选
缺使用第一个provider配置
配置关联
指定provider,值为<dubbo:provider>的id属性
2.0.0以上版本
deprecated
deprecated
boolean
可选
false
服务治理
服务是否过时,如果设为true,消费方引用时将打印服务过时警告error日志
2.0.5以上版本
dynamic
dynamic
boolean
可选
true
服务治理
服务是否动态注册,如果设为false,注册后将显示后disable状态,需人工启用,并且服务提供者停止时,也不会自动取消册,需人工禁用。
2.0.5以上版本
accesslog
accesslog
string/boolean
可选
false
服务治理
设为true,将向logger中输出访问日志,也可填写访问日志文件路径,直接把访问日志输出到指定文件
2.0.5以上版本
owner
owner
string
可选
服务治理
服务负责人,用于服务治理,请填写负责人公司邮箱前缀
2.0.5以上版本
document
document
string
可选
服务治理
服务文档URL
2.0.5以上版本
weight
weight
int
可选
性能调优
服务权重
2.0.5以上版本
executes
executes
int
可选
0
性能调优
服务提供者每服务每方法最大可并行执行请求数
2.0.5以上版本
actives
actives
int
可选
0
性能调优
每服务消费者每服务每方法最大并发调用数
2.0.5以上版本
proxy
proxy
string
可选
javassist
性能调优
生成动态代理方式,可选:jdk/javassist
2.0.5以上版本
cluster
cluster
string
可选
failover
性能调优
集群方式,可选:failover/failfast/failsafe/failback/forking
2.0.5以上版本
filter
service.filter
string
可选
default
性能调优
服务提供方远程调用过程拦截器名称,多个名称用逗号分隔
2.0.5以上版本
listener
exporter.listener
string
可选
default
性能调优
服务提供方导出服务监听器名称,多个名称用逗号分隔
protocol
string
可选
配置关联
使用指定的协议暴露服务,在多协议时使用,值为<dubbo:protocol>的id属性,多个协议ID用逗号分隔
2.0.5以上版本
layer
layer
string
可选
服务治理
服务提供者所在的分层。如:biz、dao、intl:web、china:acton。
2.0.7以上版本
register
register
boolean
可选
true
服务治理
该协议的服务是否注册到注册中心
2.0.8以上版本
服务提供者缺省值配置:
配置类:com.alibaba.dubbo.rpc.config.ProviderConfig
说明:该标签为<dubbo:service>和<dubbo:protocol>标签的缺省值设置。
标签
属性
对应URL参数
类型
是否必填
缺省值
作用
描述
兼容性
id
string
可选
dubbo
配置关联
协议BeanId,可以在<dubbo:serviceproivder=“”>中引用此ID
1.0.16以上版本
protocol
string
可选
dubbo
性能调优
协议名称
1.0.16以上版本
host
string
可选
自动查找本机IP
服务发现
服务主机名,多网卡选择或指定VIP及域名时使用,为空则自动查找本机IP,建议不要配置,让Dubbo自动获取本机IP
1.0.16以上版本
threads
threads
int
可选
100
性能调优
服务线程池大小(固定大小)
1.0.16以上版本
payload
payload
int
可选
88388608(=8M)
性能调优
请求及响应数据包大小限制,单位:字节
2.0.0以上版本
path
string
可选
服务发现
提供者上下文路径,为服务path的前缀
2.0.0以上版本
server
server
string
可选
dubbo协议缺省为netty,http协议缺省为servlet
性能调优
协议的服务器端实现类型,比如:dubbo协议的mina,netty等,http协议的jetty,servlet等
2.0.0以上版本
client
client
string
可选
dubbo协议缺省为netty
性能调优
协议的客户端实现类型,比如:dubbo协议的mina,netty等
2.0.0以上版本
codec
codec
string
可选
dubbo
性能调优
协议编码方式
2.0.0以上版本
serialization
serialization
string
可选
dubbo协议缺省为hessian2,rmi协议缺省为java,http协议缺省为json
性能调优
协议序列化方式,当协议支持多种序列化方式时使用,比如:dubbo协议的dubbo,hessian2,java,compactedjava,以及http协议的json,xml等
2.0.5以上版本
default
boolean
可选
false
配置关联
是否为缺省协议,用于多协议
1.0.16以上版本
filter
service.filter
string
可选
性能调优
服务提供方远程调用过程拦截器名称,多个名称用逗号分隔
2.0.5以上版本
listener
exporter.listener
string
可选
性能调优
服务提供方导出服务监听器名称,多个名称用逗号分隔
2.0.5以上版本
threadpool
threadpool
string
可选
fixed
性能调优
线程池类型,可选:fixed/cached
2.0.5以上版本
accepts
accepts
int
可选
0
性能调优
服务提供者最大可接受连接数
2.0.5以上版本
version
version
string
可选
0.0.0
服务发现
服务版本,建议使用两位数字版本,如:1.0,通常在接口不兼容时版本号才需要升级
2.0.5以上版本
group
group
string
可选
服务发现
服务分组,当一个接口有多个实现,可以用分组区分
2.0.5以上版本
delay
delay
int
可选
0
性能调优
延迟注册服务时间(毫秒)- ,设为-1时,表示延迟到Spring容器初始化完成时暴露服务
2.0.5以上版本
timeout
default.timeout
int
可选
5000
性能调优
远程服务调用超时时间(毫秒)
2.0.5以上版本
retries
default.retries
int
可选
2
性能调优
远程服务调用重试次数,不包括第一次调用,不需要重试请设为0
2.0.5以上版本
connections
default.connections
int
可选
0
性能调优
每服务消费者每服务使用连接数
2.0.5以上版本
loadbalance
default.loadbalance
string
可选
random
性能调优
负载均衡策略,可选值:random,roundrobin,leastactive,分别表示:随机,轮循,最少活跃调用
2.0.5以上版本
async
default.async
boolean
可选
false
性能调优
是否缺省异步执行,不可靠异步,只是忽略返回值,不阻塞执行线程
2.0.5以上版本
local
local
boolean
可选
false
服务治理
设为true,表示使用缺省代理类名,即:接口名 + Local后缀。
2.0.5以上版本
mock
mock
boolean
可选
false
服务治理
设为true,表示使用缺省Mock类名,即:接口名 + Mock后缀。
2.0.5以上版本
token
token
boolean
可选
false
服务治理
令牌验证,为空表示不开启,如果为true,表示随机生成动态令牌
2.0.5以上版本
registry
registry
string
可选
缺省向所有registry注册
配置关联
向指定注册中心注册,在多个注册中心时使用,值为<dubbo:registry>的id属性,多个注册中心ID用逗号分隔,如果不想将该服务注册到任何registry,可将值设为N/A
2.0.5以上版本
dynamic
dynamic
boolean
可选
true
服务治理
服务是否动态注册,如果设为false,注册后将显示后disable状态,需人工启用,并且服务提供者停止时,也不会自动取消册,需人工禁用。
2.0.5以上版本
accesslog
accesslog
string/boolean
可选
false
服务治理
设为true,将向logger中输出访问日志,也可填写访问日志文件路径,直接把访问日志输出到指定文件
2.0.5以上版本
owner
owner
string
可选
服务治理
服务负责人,用于服务治理,请填写负责人公司邮箱前缀
2.0.5以上版本
document
document
string
可选
服务治理
服务文档URL
2.0.5以上版本
weight
weight
int
可选
性能调优
服务权重
2.0.5以上版本
executes
executes
int
可选
0
性能调优
服务提供者每服务每方法最大可并行执行请求数
2.0.5以上版本
actives
default.actives
int
可选
0
性能调优
每服务消费者每服务每方法最大并发调用数
2.0.5以上版本
proxy
proxy
string
可选
javassist
性能调优
生成动态代理方式,可选:jdk/javassist
2.0.5以上版本
cluster
default.cluster
string
可选
failover
性能调优
集群方式,可选:failover/failfast/failsafe/failback/forking
2.0.5以上版本
deprecated
deprecated
boolean
可选
false
服务治理
服务是否过时,如果设为true,消费方引用时将打印服务过时警告error日志
2.0.5以上版本
queues
queues
int
可选
0
性能调优
线程池队列大小,当线程池满时,排队等待执行的队列大小,建议不要设置,当线程程池时应立即失败,重试其它服务提供机器,而不是排队,除非有特殊需求。
2.0.5以上版本
charset
charset
string
可选
UTF-8
性能调优
序列化编码
2.0.5以上版本
buffer
buffer
int
可选
8192
性能调优
网络读写缓冲区大小
2.0.5以上版本
iothreads
iothreads
int
可选
CPU + 1
性能调优
IO线程池,接收网络读写中断,以及序列化和反序列化,不处理业务,业务线程池参见threads配置,此线程池和CPU相关,不建议配置。
2.0.5以上版本
telnet
telnet
string
可选
服务治理
所支持的telnet命令,多个命令用逗号分隔
2.0.5以上版本
layer
layer
string
可选
服务治理
服务提供者所在的分层。如:biz、dao、intl:web、china:acton。
2.0.7以上版本
服务消费者引用服务配置:
配置类:com.alibaba.dubbo.rpc.config.ReferenceConfig
标签
属性
对应URL参数
类型