Apache Dubbo配置文件

本文详细介绍了Dubbo框架中的服务治理策略,包括服务提供者与消费者的配置,性能调优方法,如超时时间、重试次数、负载均衡策略的设定,以及服务版本控制和分组管理。同时,探讨了协议、注册中心、监控中心和应用级别的配置选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

个人博客: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:当配置中心连接失败时,是否终止应用启动

个人博客:http://www.jinglingmao.shop

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值