配置项参考手册包含 Dubbo 支持的所有配置组件以及每个配置组件支持的所有配置项配置详情application每个应用必须且仅有一个 application 配置,对应配置类:org.apache.dubbo.config.ApplicationConfig
属性对应 URL 参数类型必填默认值nameapplicationstring必填服务治理当前应用的名称,用于注册中心计算应用之间的依赖关系。注意:消费者和提供者应用名称不能相同,此参数不是匹配条件,可以填写您当前项目的名称,与提供者和消费者的角色无关。例如,如果 kylin 应用调用 morgan 应用的服务,kylin 项目将是 kylin,morgan 项目将是 morgan。也许 kylin 也提供其他服务被其他人使用,但 kylin 项目始终被称为 kylin,所以注册中心会显示 kylin 依赖于 morgan版本 2.7 .0 或更高compilercompilerstring可选javassist性能优化Java 字节码编译器,用于生成动态类,可选:jdk 或 javassist版本 2.7.0 或更高loggerloggerstring可选slf4j性能优化日志输出方式,可选:slf4j、jcl、log4j、log4j2、jdk版本 2.7.0 或更高ownerownerstring可选服务治理应用负责人,用于服务治理,请填写负责人邮箱前缀版本 2.0.5 及以上organizationorganizationstring可选服务治理组织名称(BU 或部门),用于注册中心区分服务来源。建议此配置项不要使用 autoconfig,直接在配置中写死,比如 china、intl、itu、crm、asc、dw、aliexpress 等版本 2.0.0 及以上architecturearchitecturestring可选服务治理. 不同的架构使用不同的层级。版本 2.0. 7 及以上environmentenvironmentstring可选服务治理应用环境,比如:develop/test/product,不同的环境使用不同的默认值,仅作为开发和测试功能的限制使用2.0.0 及以上版本versionapplication.versionstring可选服务治理当前应用版本版本 2.7.0 或更高dumpDirectorydump.directorystring可选服务治理当进程出现问题,比如线程池满了,框架自动 dump 文件的存储路径版本 2.7.0 或更高qosEnableqos.enableboolean可选服务治理是否启用 qos 运维端口版本 2.7.0 或更高qosHostqos.hoststring可选服务治理监控的网络接口地址,默认 0.0.0.0版本 2.7.3 或更高qosPortqos.portint可选服务治理监控的网络端口版本 2.7.0 或更高qosAcceptForeignIpqos.accept.foreign.ipboolean可选服务治理安全配置,是否接受除了 localhost 本地访问以外的外部请求版本 2.7.0 或更高shutwaitdubbo.service.shutdown.waitstring可选服务治理优雅关闭时关闭等待时间(ms)版本 2.7.0 或更高hostnamestring可选本地主机名服务治理hostname版本 2.7.5 或更高registerConsumerregisterConsumerboolean可选true服务治理是否将实例注册到注册中心。仅当实例是纯消费者时设置为 false版本 2.7.5 及以上repositoryapplication.versionstring可选服务治理当前应用版本版本 2.7.6 或更高enableFileCachefile.cacheboolean可选true服务治理是否启用本地缓存版本 3.0.0 或更高protocolstring可选dubbo服务治理首选协议,适用于无法确定首选协议时版本 3.0.0 或更高metadataTypemetadata-typeString可选local服务治理应用级服务发现 元数据传递方式是从 Provider 的角度,Consumer 端的配置无效。可选值有* remote - Provider 将元数据放到远程注册中心,Consumer 从注册中心获取;* local - Provider 将元数据放到本地,Consumer 直接从 Provider 获取;版本 2.7.5 及以上metadataServicePortmetadata-service-portint可选服务治理如果 metadataType 配置为 local,此属性设置 MetadataService 服务使用的端口号版本 2.7.9 或更高livenessProbeliveness-probestring可选服务治理与 k8s 系统存活探测相对应的概念和格式版本 3.0.0 或更高就绪探测就绪探测string可选服务治理与 k8s 系统就绪探测相对应的概念和格式版本 3.0.0 或更高启动探测启动探测string可选服务治理该概念和格式对应于 k8s 系统启动探测3.0.0 或更高版本注册模式注册模式string可选全部服务治理控制地址注册行为,用于应用程序级服务发现和迁移。* 实例仅注册应用程序级地址;* 接口仅注册接口级地址;* 全部(默认)注册应用程序级和接口级地址;3.0.0 及以上版本启用空保护启用空保护boolean可选true服务治理是否全局启用消费者端空地址列表的保护。启用后,注册中心推送的空地址将被忽略。默认值为 true3.0.0 或更高版本参数无Map
属性对应 URL 参数类型必填默认值接口类必需服务发现服务接口名称1.0.0 或更高版本引用对象必需服务发现服务对象实现引用1.0.0 或更高版本versionversionstring可选0.0.0服务发现服务版本,建议使用两位数版本,例如:1.0,通常接口不兼容时需要升级版本号1.0.0 或更高版本分组分组string可选服务发现服务分组,当一个接口有多个实现时,可以通过分组进行区分1.0.7 或更高版本路径string可选默认接口名称服务发现服务路径(注意:1.0 不支持自定义路径,始终使用接口名称,如果有 1.0 到 2.0,配置服务路径可能不兼容)1.0.12+延迟延迟int可选0性能调优延迟注册服务时间(毫秒),设置为 -1 表示服务延迟到 Spring 容器初始化完成之后才注册1.0.14 及以上版本超时超时int可选1000性能调优远程服务调用超时时间(毫秒)2.0.0 或更高版本重试重试int可选2性能调优远程服务调用重试次数,不包括第一次调用,如果不需要重试,请设置为 02.0.0 或更高版本连接连接int可选100性能调优每个提供者的最大连接数,rmi、http、hessian 等短连接协议表示连接数的限制,dubbo 等长连接协议表示建立的长连接数量2.0.0 及以上版本负载均衡负载均衡string可选随机性能调优负载均衡策略,可选值* 随机 - 随机;* 轮询 - 轮询;* 最少活跃 - 最少活跃调用;br/>* 一致性哈希 - 一致性哈希 (2.1.0+);* 最短响应 - 最短响应 (2.7.7+);2.0.0+异步异步boolean可选false性能调优是否默认异步执行,不可靠异步,只忽略返回值,不阻塞执行线程2.0.0 以上版本locallocal类/布尔值可选false服务治理设置为 true,表示使用默认代理类名,即:接口名 + Local 后缀,已过时,请使用 stub2.0.0 或以上存根存根类/布尔值可选false服务治理设置为 true,表示使用默认代理类名,即:接口名 + Stub 后缀,服务接口客户端的本地代理类名,用于客户端在客户端执行本地逻辑,例如本地缓存等。本地代理类的构造函数必须允许传入远程代理对象,例如:public XxxServiceStub(XxxService xxxService)2.0.0 或更高版本模拟模拟类/布尔值可选false服务治理设置为 true,表示使用默认 Mock 类名,即:接口名 + Mock 后缀,如果服务接口调用失败,则调用 Mock 实现类,Mock 类必须有一个无参构造函数,与 Local 的区别在于 Local 始终执行,而 Mock 仅在发生非业务异常(如超时、网络异常等)时执行,Local 在远程调用之前执行,Mock 在远程调用之后执行。版本 2.0.0 及以上令牌令牌字符串/布尔值可选服务治理消费者绕过注册中心直接访问,保证注册中心的授权功能有效。如果使用点对点调用,则必须关闭 token 功能2.0.0 或更高版本注册中心string可选默认注册到所有注册中心配置关联注册到指定的注册中心,用于多个注册中心,值为 dubbo:registry 的 id 属性,用于多个注册中心 ID 用逗号分隔,如果不想将服务注册到任何注册中心,可以将值设置为 N/A2.0.0 或更高版本提供者string可选默认使用第一个提供者配置配置关联指定提供者,值为 dubbo:provider 的 id 属性2.0.0 以上版本已弃用已弃用boolean可选false服务治理服务是否已弃用,如果设置为 true,消费者将打印服务已弃用警告错误日志2.0.5 或更高版本动态动态boolean可选true服务治理服务是否动态注册,如果设置为 false,注册后将显示禁用状态,需要手动启用,服务提供者停止时不会自动取消注册,需要手动禁用。2.0.5 及以上版本访问日志访问日志字符串/布尔值可选false服务管理设置为 true,访问日志将输出到日志记录器,也可以填写访问日志文件路径,将访问日志直接输出到指定文件2.0.5 及以上版本ownerownerstring可选服务治理文档文档string可选服务治理服务文档 URL2.0.5 或更高版本权重权重int可选性能调优服务权重2.0.5 或更高版本执行执行int可选0性能调优服务提供者每个服务和方法的最大并行执行请求数2.0.5 或更高版本活跃活跃int可选0性能调优每个服务消费者每个服务每个方法的最大并发调用数2.0.5 或更高版本代理代理string可选javassist性能调优生成动态代理,可选:jdk/javassist2.0.5 或更高版本集群集群string可选故障转移性能调优集群模式,可选:故障转移/故障快速失败/故障安全/故障回退/分叉/可用/可合并 (2.1. )/区域感知 (2.7.5 或更高版本)2.0 .5 或更高版本过滤器service.filterstring可选默认性能调优服务提供者远程调用过程拦截器名称,多个名称用逗号分隔2.0.5 或更高版本监听器exporter.listenerstring可选默认性能调优服务提供者导出服务监听器名称,多个名称用逗号分隔protocolstring可选配置关联使用指定的协议公开服务,用于多协议,值为 dubbo:protocol 的 id 属性,多个协议 ID 用逗号分隔2.0 .5 或更高版本层层string可选服务治理服务提供者所在的层级。例如:biz、dao、intl:web、china:acton。2.0.7 及以上版本注册注册boolean可选true服务治理该协议的服务是否注册到注册中心2.0.8 或更高版本验证验证string可选服务治理是否启用 JSR303 标准注解验证,如果启用,将验证方法参数上的注解版本 2.7.0 或更高参数无Map
属性对应 URL 参数类型必填默认值idstring必需配置关联服务引用 BeanId1.0.0 或更高版本接口类必需服务发现服务接口名称1.0.0 或更高版本versionversionstring可选服务发现服务版本,与服务提供者的版本一致1.0.0 以上版本分组分组string可选服务发现服务分组,当一个接口有多个实现时,可以通过分组进行区分,必须与服务提供者一致1.0.7 或更高版本超时超时长可选默认使用 dubbo:consumer 的超时时间性能调优服务方法调用超时时间(毫秒)1.0.5 或更高版本重试重试int可选默认使用 dubbo:consumer 的重试次数性能调优远程服务调用重试次数,不包括第一次调用,请设置为 02.0. 版本 0 及以上连接连接int可选默认使用 dubbo:consumer 的连接数性能调优每个提供者的最大连接数,rmi、http、hessian 等短连接协议表示连接数的限制,dubbo 等等长连接协议表示建立的长连接数量2.0.0 或更高版本负载均衡负载均衡string可选默认使用 dubbo:consumer 的负载均衡性能调优负载均衡策略,可选值* 随机 - 随机;* 轮询 - 轮询* 最少活跃 - 最少活跃调用;* 一致性哈希 - 一致性哈希 (2.1.0 及以上版本);* 最短响应 - 最短响应 (2.7.7 及以上版本);2.0 .0+ 版本异步异步boolean可选默认使用 dubbo:consumer 的异步性能调优是否异步执行,不可靠异步,只忽略返回值,不阻塞执行线程2.0.0 或更高版本泛型泛型boolean可选默认使用 dubbo:consumer 的泛型服务治理是否默认泛型接口,如果是泛型接口,将返回 GenericService2.0.0 或更高版本检查检查boolean可选默认使用 dubbo:consumer 的检查服务治理启动时检查提供者是否存在,true 将报错,false 将忽略2.0.0 或更高版本URLURLstring可选服务治理点对点直接连接服务提供者地址,将绕过注册中心1.0.6 或更高版本存根存根类/布尔值可选服务治理服务接口客户端本地代理类名称,用于在客户端执行本地逻辑,例如本地缓存等。本地代理类的构造函数必须允许输入远程代理对象,构造函数例如:public XxxServiceLocal(XxxService xxxService)2.0.0 或更高版本模拟模拟类/布尔值可选服务治理服务接口调用失败的 Mock 实现类名称,Mock 类必须有一个无参构造函数,与 Local 的区别在于 Local 始终执行,而 Mock 仅在发生非业务异常(如超时、网络异常等)时执行,Local 在远程调用之前执行,Mock 在远程调用之后执行。Dubbo1.0.13 及以上版本支持缓存缓存字符串/布尔值可选服务治理调用参数用作键来缓存返回的结果,可选:lru、threadlocal、jcache 等。Dubbo2.1.0 及以上版本支持验证验证boolean可选服务治理是否启用 JSR303 标准注解验证,如果启用,将验证方法参数上的注解Dubbo2.1.0 及以上版本支持代理代理boolean可选javassist性能调优选择动态代理实现策略,可选:javassist、jdk2.0.2 以上版本客户端客户端string可选性能调优客户端传输类型设置,例如 Dubbo 协议的 netty 或 mina。Dubbo2.0.0 及以上版本支持注册中心string可选默认情况下,服务列表将从所有注册中心获取,并将结果合并配置关联注册以从指定注册中心获取服务列表,在存在多个注册中心时使用,值为 dubbo:registry 的 id 属性,多个注册中心 ID 用逗号分隔2.0.0 或更高版本ownerownerstring可选服务治理要调用服务负责人的服务治理,请填写负责人的邮件前缀版本 2.0.5 及以上活跃活跃int可选0性能调优每个服务消费者每个服务每个方法的最大并发调用数2.0.5 或更高版本集群集群string可选故障转移性能调优集群模式,可选:故障转移/故障快速失败/故障安全/故障回退/分叉/可用/可合并 (2.1. )/区域感知 (2.7.5 或更高版本)2.0 .5 或更高版本连接连接int可选100性能调优每个提供者的最大连接数,rmi、http、hessian 等短连接协议表示连接数的限制,dubbo 等长连接协议表示建立的长连接数量2.0.0 及以上版本过滤器reference.filterstring可选默认性能调优服务消费者远程调用过程拦截器名称,多个名称用逗号分隔2.0.5 或更高版本监听器invoker.listenerstring可选默认性能调优服务消费者引用服务监听器名称,多个名称用逗号分隔2.0.5 版本或更高版本层层string可选服务治理服务调用者所在的层级。例如:biz、dao、intl:web、china:acton。2.0.7 及以上版本initinitboolean可选false性能调优是否在 afterPropertiesSet() 后立即初始化引用,否则等到有人注入或引用实例后再初始化。2.0.10 版本及以上protocolprotocolstring可选服务治理仅调用指定协议的服务提供者,忽略其他协议。2.7.0 及以上版本客户端客户端string可选dubbo 协议默认使用 netty服务发现协议客户端实现类型,例如:dubbo 协议 mina、netty 等。版本 2.7.0 或更高providerPortprovider-portint可选服务网格当 dubbo.consumer.meshEnable=true 时,Dubbo 默认会将请求转换为 K8S 标准格式,并结合 VirtualService 和 DestinationRule 进行流量管理。此时,消费者可以感知到提供者。如果您不想使用 VirtualService 和 DestinationRule,请设置 providerPort 使消费者感知到提供者暴露的服务端口3.1.0 版本及以上unloadClusterRelatedunloadClusterRelatedboolean可选false服务网格当 dubbo.consumer.meshEnable=true 时,在 Service Mesh 模式下,设置为 true 以卸载当前调用中与 Cluster 相关的 Directory、Router 和 Load Balance,将重试、负载均衡、超时等流量管理功能委托给 Sidecar,使用 VirtualService 和 DestinationRule 进行流量管理3.1.0 版本及以上参数无Map
属性对应 URL 参数类型必填默认值idstring可选配置关联注册中心引用 BeanId,可以在
| 属性 | 对应 URL 参数 | 类型 | 是否必填 | 默认值 | 描述 | 兼容性 | | —————- | ———————- | ——— ———- | ——– | —————- | ————- ————————————————– | – —- | | protocol | protocol | string | 可选 | zookeeper | 使用哪个配置中心:apollo、zookeeper、nacos 等。以 zookeeper 为例1. 如果指定了 protocol,则地址可以简化为 127.0.0.1:2181;2. 如果没有指定 protocol,则地址值为 zookeeper:// 127.0.0.1:2181 | 2.7.0 版本或更高版本 | | address | address | string | 必填 | | 配置中心地址。请参考协议描述获取值 | 2.7.0 版本及以上 | | highestPriority | highest-priority| boolean | 可选 | true | 配置中心中的配置项优先级最高,即本地配置项会被覆盖。 | 2.7.0 版本及以上 | | namespace | namespace | string | 可选 | dubbo | 通常用于多租户隔离,实际含义取决于具体的配置中心。例如zookeeper - 环境隔离,默认值为 dubbo;apollo - 区分不同域的配置集,默认使用 dubbo 和 application | 2.7.0 版本及以上 | | cluster | cluster | string | 可选 | | 含义取决于所选的配置中心。它用于在 Apollo 中区分不同的配置集群 | 2.7.0 版本及以上 | group | group | string | 可选 | dubbo | 含义取决于所选的配置中心。nacos - 隔离不同的配置集zookeeper - 隔离不同的配置集 | 2.7.0 版本及以上 | | check | check | boolean | 可选 | true | 连接配置中心失败时是否终止应用程序启动。 | 2.7.0 版本及以上 | | configFile | config-file | string | 可选 | dubbo.properties | 全局配置文件映射到的键zookeeper - 默认路径 /dubbo/config/dubbo/dubbo.propertiesapollo - dubbo dubbo.properties 键在 namespace 中 | 2.7.0 版本或更高版本 | | appConfigFile | app-config-file | string | 可选 | | “configFile” 在全局范围内共享。此项仅限于此应用程序配置的属性 | 2.7.0+ | | timeout | timeout | int | 可选 | 3000ms | 获取配置的超时时间 | 2.7.0 版本或更高版本 | | username | username | string | 可选 | | 如果配置中心需要验证,则用户名Apollo 尚未启用 | 2.7.0 版本或更高版本 | | password | password | string | 可选 | | 如果配置中心需要验证,则密码Apollo 尚未启用 | 2.7.0 版本或更高版本 | | parameters | parameters | Map
metadata-report-config元数据中心。对应配置类:org.apache.dubbo.config.MetadataReportConfig
| 属性 | 对应 URL 参数 | 类型 | 是否必填 | 默认值 | 描述 | 兼容性 | | ————— | ——— | —— | ——– | ——- – | ———————————————– ————- | —— | | address | address | string | 必填 | | 元数据中心地址。 | 2.7.0 版本及以上 | protocol | protocol | string | 可选 | zookeeper | 元数据中心协议:zookeeper、nacos、redis 等。以 zookeeper 为例1. 如果指定了 protocol,则地址可以简化为 127.0.0.1:2181;2. 如果没有指定 protocol,则地址值为 zookeeper:// 127.0.0.1:2181 | 2.7.13 版本及以上 | | port | port | int | 可选 | | 元数据中心端口号。指定端口,则地址可以简化,无需配置端口号 | 2.7.13 版本或更高版本 | | username | username | string | 可选 | | 元数据中心需要验证,用户名Apollo 尚未启用 | 2.7.0 版本或更高版本 | | password | password | string | 可选 | | 元数据中心需要验证,密码Apollo 尚未启用 | 版本 2.7.0 或更高 | | timeout | timeout | int | 可选 | | 获取元数据超时时间 (ms) | 版本 2.7.0 或更高 | | group | group | string | 可选 | dubbo | 元数据分组,适合环境隔离。它与注册中心 group 的含义相同 | 版本 2.7.0 及以上 | | retryTimes | retry-times | int | 可选 | 100 | 重试次数 | 版本 2.7.0 或更高 | | retryPeriod | retry-period | int | 可选 | 3000ms | 重试间隔 (ms) | 版本 2.7.0 或更高 | | cycleReport | cycle-report | boolean| 可选 | true | 是否每天更新完整元数据 | 版本 2.7.0 及以上 | | syncReport | sync-report | boolean| 可选 | false | 是否同步更新元数据,默认异步 | 版本 2.7.0 或更高 | | cluster | cluster | string | 可选 | | 含义取决于所选的元数据中心。用于区分 Apollo 中不同的配置集群 | 版本 2.7.0 及以上 | | file | file | string | 可选 | | 使用文件缓存元数据中心列表,当应用重启时,会根据此文件进行恢复,注意:两个元数据中心不能使用同一个文件存储 | 版本 2.7.0 或更高 | | check | check | boolean | 可选 | true | 元数据中心连接失败时是否终止应用启动。 | 版本 3.0.0 及以上 | | reportMetadata | report-metadata | boolean | 可选 | false | 是否上传接口配置报告元数据到地址发现中,dubbo.application.metadata-type=remote 配置不生效时会进行上报,dubbo.application.metadata-type=local 时是否上报由配置值决定 | 版本 3.0.0 及以上 | | reportDefinition | report-definition | boolean | 可选 | true | 是否上报服务运维的元数据 | 版本 3.0.0 及以上 | | reportConsumerDefinition | report-consumer-definition | boolean | 可选 | true | 是否上报消费者端服务运维的元数据 | 版本 3.0.0 及以上 | | parameters | parameters | Map
protocol服务提供者协议配置。对应配置类:org.apache.dubbo.config.ProtocolConfig。同时,如果需要支持多种协议,可以声明多个
属性对应 URL 参数类型必填默认值idstring可选dubbo配置关联protocol BeanId,可以在
属性对应 URL 参数类型必填默认值idstring可选dubbo配置关联protocol BeanId,可以在
属性对应 URL 参数类型必填默认值超时default.timeoutint可选1000性能调优远程服务调用超时时间(毫秒)1.0.16 版本或更高版本重试default.retriesint可选2性能调优远程服务调用重试次数,不包括第一次调用,如果不需要重试,请设置为 0,仅在集群为 failback/failover 时有效版本 1.0.16 及以上负载均衡default.loadbalancestring可选随机性能调优负载均衡策略,可选值* 随机 - 随机;* roundrobin - 轮询;leastactive - 最少活跃调用;* consistenthash - 一致性哈希 (2.1.0+);* 最短响应 - 最短响应 (2.7.7+);1.0.16+异步default.asyncboolean可选false性能调优是否默认异步执行,不可靠且异步,只忽略返回值,不阻塞执行线程2.0.0 或更高版本发送default.sentboolean可选true服务治理异步调用时,当 flag sent=true 时,表示网络已发送数据版本 2.0.6 或更高连接default.connectionsint可选100性能调优每个服务到每个提供者的最大连接数,rmi、http、hessian 等短连接协议支持此配置,dubbo 协议长连接不支持此配置1.0.16+ 版本泛型泛型boolean可选false服务治理是否默认泛型接口,如果是泛型接口,将返回 GenericService2.0.0 以上版本检查检查boolean可选true服务治理启动时检查提供者是否存在,true 报错,false 忽略版本 1.0.16 及以上代理代理string可选javassist性能调优生成动态代理,可选:jdk/javassist2.0.5 或更高版本ownerownerstring可选服务治理要调用服务负责人的服务治理,请填写负责人的邮件前缀版本 2.0.5 及以上活跃default.activesint可选0性能调优每个服务消费者每个服务每个方法的最大并发调用数2.0.5 或更高版本集群default.clusterstring可选故障转移性能调优集群模式,可选:failover/failfast/failsafe/failback/forking/available/mergeable (2.1. 以上)/zone-aware(2.7.5 以上)2.0.5 以上过滤器reference.filterstring可选性能调优服务消费者远程调用过程拦截器名称,多个名称用逗号分隔2.0.5 或更高版本监听器invoker.listenerstring可选性能调优服务消费者引用服务监听器的名称,多个名称用逗号分隔2.0.5 或更高版本注册中心string可选默认注册到所有注册中心配置关联注册到指定的注册中心,用于多个注册中心时,值为 dubbo:registry 的 id 属性,用于多个注册中心 ID 用逗号分隔,如果不想将服务注册到任何注册中心,可以将值设置为 N/A2.0.5 版本或更高版本层层string可选服务治理服务调用者所在的层级。例如:biz、dao、intl:web、china:acton。2.0.7 及以上版本initinitboolean可选false性能调优是否在 afterPropertiesSet() 后立即初始化引用,否则等到有人注入或引用实例后再初始化。2.0.10 版本及以上缓存缓存字符串/布尔值可选服务治理调用参数用作键来缓存返回的结果,可选:lru、threadlocal、jcache 等。版本 2.1.0 及以上支持验证验证boolean可选服务治理是否启用 JSR303 标准注解验证,如果启用,将验证方法参数上的注解2.1.0 及以上版本支持versionversionstring可选服务治理在 Dubbo 中为同一个服务配置多个版本2.2.0 及以上版本支持客户端客户端string可选Dubbo 协议默认使用 netty性能调优协议客户端实现类型,例如:dubbo 协议 mina、netty 等。2.0.0 或更高版本线程池线程池string可选固定性能调优线程池类型,可选:fixed/cached/limit (2.5.3 以上)/eager (2.6.x 以上)版本 2.0.5 或更高核心线程核心线程int可选200性能调优线程池核心线程大小2.0.5 或更高版本线程线程int可选200性能调优服务线程池大小 (固定大小)2.0.5 或更高版本队列队列int可选0性能调优线程池队列大小,当线程池满时,等待执行的队列大小,建议不要设置,当线程池满时,应该立即失败,并重试其他提供服务的机器,而不是排队,除非有特殊需要。2.0.5 及以上版本shareconnectionsshareconnectionsint可选1性能调优共享连接数。当 connection 参数设置为 0 时,会启用共享模式连接,默认只有一个连接。仅支持 dubbo 协议版本 2.7.0 及以上referThreadNumint可选性能优化异步调用线程池大小版本 3.0.0 或更高meshEnablemesh-enableboolean可选false服务网格Dubbo 网格模式切换。开启后,可以适配 SideCar 模式,将 Dubbo 服务调用转换为 K8S 标准调用。仅支持 Triple 协议,兼容 GRPC。设置为 true 后,原生对接 K8S,无需第三方注册中心,只需设置 dubbo.registry.address=N/A3.1.0 版本或更高版本参数参数Map
属性对应 URL 参数类型必填默认值protocolprotocolstring可选prometheus性能调优协议名称,默认使用 prometheus版本 3.0.0 或更高prometheusPrometheusConfig可选配置关联prometheus 相关配置版本 3.0.0 或更高聚合AggregationConfig可选配置关联指标聚合相关配置3.0.0 或更高版本PrometheusConfig 对应类:org.apache.dubbo.config.nested.PrometheusConfig属性类型必填默认值描述exporter.enabledboolean可选是否启用 prometheus exporterexporter.enableHttpServiceDiscoveryboolean可选是否启用 http 服务发现exporter.httpServiceDiscoveryUrlstring可选http 服务发现 URLexporter.metricsPortint可选使用拉取方式时暴露的端口号exporter.metricsPathstring可选使用拉取方式时暴露指标的路径pushgateway.enabledboolean可选是否通过 prometheus 的 Pushgateway 发布指标pushgateway.baseUrlstring可选Pushgateway 地址pushgateway.usernamestring可选Pushgateway 用户名pushgateway.passwordstring可选Pushgateway 密码pushgateway.pushIntervalint可选推送指标间隔时间AggregationConfig 对应类:org.apache.dubbo.config.nested.AggregationConfig属性类型必填默认值描述enabledboolean可选是否启用本地指标聚合功能bucketNumint可选时间窗口桶的数量timeWindowSecondsint可选时间窗口持续时间(秒)sslTLS 认证配置。配置类:org.apache.dubbo.config.SslConfig
属性对应 URL 参数类型必填默认值serverKeyCertChainPathserver-key-cert-chain-pathstring可选安全配置serverPrivateKeyPathserver-private-key-pathstring可选安全配置服务器私钥路径版本 2.7.5 或更高serverKeyPasswordserver-key-passwordstring可选安全配置服务器密钥密码版本 2.7.5 或更高serverTrustCertCollectionPathserver-trust-cert-collection-pathstring可选安全配置服务器信任证书路径版本 2.7.5 或更高clientKeyCertChainPathclient-key-cert-chain-pathstring可选安全配置客户端签名证书路径版本 2.7.5 或更高clientPrivateKeyPathclient-private-key-pathstring可选安全配置客户端私钥路径版本 2.7.5 或更高clientKeyPasswordclient-key-passwordstring可选安全配置客户端密钥密码版本 2.7.5 或更高clientTrustCertCollectionPathclient-trust-cert-collection-pathstring可选安全配置客户端信任证书路径版本 2.7.5 或更高module模块信息配置。对应配置类 org.apache.dubbo.config.ModuleConfig
属性对应 URL 参数类型必填默认值namemodulestring必填服务治理当前模块名称,用于注册中心计算模块之间的依赖关系版本 2.2.0 或更高versionmodule.versionstring可选服务治理当前模块版本版本 2.2.0 或更高ownermodule.ownerstring可选服务治理模块负责人,用于服务治理,请填写负责人邮箱前缀版本 2.2.0 以上organizationmodule.organizationstring可选服务治理组织名称(BU 或部门),用于注册中心区分服务来源。建议此配置项不要使用 autoconfig,直接在配置中写死,例如 China、intl、itu、crm、asc、dw、aliexpress 等。版本 2.2.0 及以上backgroundbackgroundboolean可选性能调优是否启用后台启动模式。如果启用,则无需等待 spring ContextRefreshedEvent 事件完成3.0.0 及以上版本referAsyncreferAsyncboolean可选性能调优是否在消费者端启用异步调用3.0.0 或更高版本referThreadNumreferThreadNumint可选性能调优异步调用线程池大小版本 3.0.0 或更高exportAsyncexportAsyncboolean可选性能调优是否在服务器端启用导出3.0.0 或更高版本exportThreadNumexportThreadNumint可选异步导出线程池大小版本 3.0.0 或更高monitor监控中心配置。对应配置类:org.apache.dubbo.config.MonitorConfig
属性对应 URL 参数类型必填默认值protocolprotocolstring可选dubbo服务治理监控中心协议,如果是 protocol=“registry”,则表示从注册中心获取监控中心的地址,否则直接连接监控中心。版本 2.0.9 及以上addressstring可选服务治理直接连接监控中心服务器地址,address=“10.20.130.230:12080”1.0.16 版本或更高版本usernameusernamestring可选服务治理监控中心用户名版本 2.0.9 或更高passwordpasswordstring可选服务治理监控中心密码版本 2.0.9 或更高分组分组string可选服务治理grouping版本 2.0.9 或更高versionversionstring可选服务治理版本号版本 2.0.9 或更高intervalintervalstring可选服务治理间隔时间版本 2.0.9 或更高参数参数Map
例如
属性对应 URL 参数类型必填默认值namestring必需logo方法名称版本 1.0.8 或更高超时.timeoutint可选默认是 timeout性能调优方法调用超时时间(毫秒)版本 1.0.8 或更高重试.retriesint可选默认是 dubbo:reference 的 retries性能调优远程服务调用重试次数,不包括第一次调用,请设置为 0版本 2.0.0 或更高负载均衡.loadbalancestring可选默认是 loadbalance性能调优负载均衡策略,可选值* 随机 - 随机;* roundrobin - 轮询;* 最少活跃 - 最少活跃调用;* consistenthash - 一致性哈希(版本 2.1.0+);* shortestresponse - 最短响应(版本 2.7.7+);2.0. 版本 0 及以上异步.asyncboolean可选默认是 dubbo:reference 的 async性能调优是否异步执行,不可靠且异步,只忽略返回值,不阻塞执行线程1.0.9 以上版本发送.sentboolean可选true性能调优异步调用时,当标记 sent=true 时,表示网络已经发送数据版本 2.0.6 或更高活跃.activesint可选0性能调优每个服务消费者最大并发调用限制2.0.5 或更高版本执行.executesint可选0性能调优每个服务和方法使用的最大线程数 - -,此属性仅在 dubbo:method 用作 dubbo:service 的子标签时有效2.0.5 及以上版本已弃用.deprecatedboolean可选false服务治理服务方法是否已弃用,此属性仅在 dubbo:method 用作 dubbo:service 的子标签时有效版本 2.0.5 及以上sticky.stickyboolean可选false服务治理设置为 true 此接口上的所有方法都使用同一个提供者。如果需要更复杂的规则,请使用路由2.0.6 或更高return.returnboolean可选true性能调优方法调用是否需要返回值。它仅在 async 设置为 true 时生效。如果设置为 true,则将返回 future,或 onreturn 等回调方法。如果设置为 false,则在请求成功发送后直接返回 Null版本 2.0.6 以上oninvoke属性属性,不反映在 URL 中String可选性能调优实例执行前拦截版本 2.0.6 或更高onreturn属性属性,不反映在 URL 中String可选性能调优实例执行返回后拦截onthrow属性属性,不反映在 URL 中String可选性能调优实例执行中异常拦截oninvokeMethod属性属性,不反映在 URL 中String可选性能调优方法执行前拦截版本 2.0.6 或更高onreturnMethod属性属性,不反映在 URL 中String可选性能调优方法执行返回后拦截版本 2.0.6 以上onthrowMethod属性属性,不反映在 URL 中String可选性能调优方法执行有异常拦截版本 2.0.6 或更高缓存.cache字符串/布尔值可选服务治理使用调用参数作为键缓存返回的结果,可选:lru、threadlocal、jcache 等。版本 2.1.0 以上验证.validationboolean可选服务治理是否启用 JSR303 标准注解验证,如果启用,则会验证方法参数上的注解版本 2.1.0 或更高argument方法参数配置。对应配置类:org.apache.dubbo.config.ArgumentConfig。该标签是 method 的子标签,用于描述方法参数的特性,例如 XML 格式
属性对应 URL 参数类型必填默认值indexint必需标识符参数索引版本 2.0.6 或更高typeString选择 index 和 index 之一识别通过参数类型查找参数索引版本 2.0.6 或更高callback.callbackboolean可选服务治理参数是否为回调接口,如果是回调,服务提供者会生成反向代理,消费者可以从服务提供者反向调用,通常用于事件推送。版本 2.0.6 以上parameter可选参数配置。对应配置类:java.util.Map。同时标签是 protocol 或 service 或 provider 或 reference 或 consumer 或 monitor 或 registry 或 metadata-config 或 config-center 的子标签,用于配置自定义参数,此配置项将作为扩展点设置自定义参数。
例如
你也可以
属性对应 URL 参数类型必填默认值keykeystring必填服务治理路由参数键2.0.0 或更高版本valuevaluestring必填服务治理路由参数值2.0.0 或更高版本环境变量支持的键是以下两个
dubbo.labels,指定 URL 中配置的键值对列表,通常通过 JVM -D 或系统环境变量。
添加以下配置
# JVM
-Ddubbo.labels = "tag1=value1; tag2=value2"
# environment variables
DUBBO_LABELS = "tag1=value1; tag2=value2"
最终生成的 URL 将包含两个键 tag1 和 tag2:dubbo://xxx?tag1=value1&tag2=value2
dubbo.env.keys,指定环境变量键值,Dubbo 会尝试从环境变量中加载每个键
# JVM
-Ddubbo.env.keys="DUBBO_TAG1, DUBBO_TAG2"
# environment variables
DUBBO_ENV_KEYS = "DUBBO_TAG1, DUBBO_TAG2"
最终生成的 URL 将包含两个键 DUBBO_TAG1 和 DUBBO_TAG2:dubbo://xxx?DUBBO_TAG1=value1&DUBBO_TAG2=value2
其他配置config-modebackground
某些类型的配置类实例在每个 dubbo 应用程序中只能出现一次(例如 ApplicationConfig、MonitorConfig、MetricsConfig、SslConfig、ModuleConfig),而有些可以出现多次(例如 RegistryConfig、ProtocolConfig 等)。
如果应用程序意外扫描到多个唯一的配置类实例(例如,用户在 dubbo 应用程序中错误配置了两个 ApplicationConfig),应该使用哪种策略来处理这种情况?是直接抛出异常?是保留前者,忽略后者?是忽略前者,保留后者?还是允许某种形式的共存(例如,后者的属性覆盖前者)?
目前,dubbo 中唯一的配置类类型以及找到多个唯一配置类型实例时允许的配置模式/策略如下。
唯一的配置类类型
ApplicationConfig、MonitorConfig、MetricsConfig、SslConfig、ModuleConfig。
前四个属于应用程序级别,最后一个属于模块级别。
配置模式
strict:严格模式。直接抛出异常。override:覆盖模式。忽略前者,保留后者。ignore:忽略模式。忽略后者,保留前者。override_all:属性覆盖模式。无论前者的属性值是否为空,都将后者的属性覆盖/设置在前者上。override_if_absent:属性覆盖模式(如果不存在)。只有当前者的对应属性值为空时,才能将后者的属性覆盖/设置在前者上。注意:后两者也会影响配置实例的属性覆盖。由于 Dubbo 具有多种配置方式,即存在多个配置来源,且配置来源也具有优先级。例如,一个 ServiceConfig 通过 xml 配置,并指定了属性 version=1.0.0。同时,我们在外部配置(配置中心)中配置了 dubbo.service.{interface}.version=2.0.0,在引入 config-mode 配置项之前,根据原有的配置来源优先级,最终实例的 version=2.0.0。但是,在引入 config-mode 配置项之后,配置优先级规则不再那么严格,即如果指定 config-mode is override_all,则为 version=2.0.0,如果 config-mode is override_if_absent,则为 version=1.0.0,如果 config-mode 为其他值,则属性设置/覆盖将遵循原有的配置优先级。
配置方式
配置的键为 dubbo.config.mode,配置的值如上所述,默认策略值为 strict。下面是一个示例配置
# JVM -D
-Ddubbo.config.mode=strict
# environment variables
DUBBO_CONFIG_MODE=strict
# External configuration (configuration center), Environment of Spring application, dubbo.properties
dubbo.config.mode=strict
反馈此页面对您有帮助吗?
是
否上次修改时间:2023 年 7 月 20 日:更新 properties.md (e516025bed4)