Rubin's Blog

  • 首页
  • 关于作者
  • 隐私政策
享受恬静与美好~~~
分享生活的点点滴滴~~~
  1. 首页
  2. Dubbo
  3. 正文

Dubbo之配置项说明

2021年 9月 28日 712点热度 0人点赞 0条评论

dubbo:application

对应org.apache.dubbo.config.ApplicationConfig,代表了当前应用的配置信息。

  1. name:当前应用程序的名称,在dubbo-admin中我们可以看到该名称代表了这个应用的名称。我们在真正使用时也会根据这个参数来进行聚合应用请求
  2. owner:当前应用程序的负责人,可以通过这个负责人找到其相关应用,用于快速定位到责任人
  3. qosEnable:是否启动qos,默认是true
  4. qosPort:启动Qos绑定的端口,默认是22222
  5. qosAcceptForeignIp:是否允许远程访问,默认是false

dubbo:registry

对应org.apache.dubbo.config.RegistryConfig,代表该模块所使用的注册中心。一个模块中的服务可以将其注册到多个注册中心上,也可以注册到一个注册中心上。后面在service和refrence中也会引用该注册中心。

  1. id:当服务中的provider或者consumer中存在多个注册中心时,则需要增加该配置。在一些公司,会通过业务线的不同选择不同的注册中心
  2. address:当前注册中心的访问地址
  3. protocol:当前注册中心所使用的协议。也可以直接在address中写入,比如使用ZooKeeper,就可以写成zookeeper://xxx.xxx.xxx:2181
  4. timeout:连接注册中心的超时时间,如果当前服务与注册中心不在同一机房,可以适当调整其参数

dubbo:protocol

对应org.apache.dubbo.config.ProtocolConfig,代表服务在进行数据传输时所使用的协议。

  1. id:在大公司,可能因为各个部门的技术栈不同,所以可能会选择使用不同的协议交互。这里在使用多个协议时,需要指定
  2. name:指定协议名称。默认使用dubbo

dubbo:service

对应org.apache.dubbo.config.ServiceConfig,用于指定当前需要对外暴露的服务信息。和 dubbo:reference 大致相同。

  1. interface: 指定当前需要进行对外暴露的接口是什么
  2. ref: 具体实现对象的引用,一般我们在生产级别都是使用Spring去进行Bean托管的,所以这里面一般也指的是Spring中的BeanId
  3. version: 对外暴露的版本号。不同的版本号,消费者在消费的时候只会根据固定的版本号进行消费

dubbo:reference

对应 org.apache.dubbo.config.ReferenceConfig,消费者的配置。

  1. id: 指定该Bean在注册到Spring中的id
  2. interface: 服务接口名
  3. version: 指定当前服务版本,与服务提供者的版本一致
  4. registry: 指定所具体使用的注册中心地址。这里面也就是使用上面在 dubbo:registry 中所声明的id

dubbo:method

对应org.apache.dubbo.config.MethodConfig,用于在指定 dubbo:service 或者 dubbo:reference 中的更具体一个层级。指定具体方法级别在进行RPC操作时候的配置,可以理解为对这上面层级中的配置针对于具体方法的特殊处理。

  1. name : 指定方法名称,用于对这个方法名称的RPC调用进行特殊配置
  2. async: 是否异步,默认false

dubbo:service和dubbo:reference详解

这两个在Dubbo中是我们最为常用的部分,其中有一些我们必然会接触到的属性。并且这里会讲到一些设置上的使用方案。

  • mock: 用于在方法调用出现错误时,当做服务降级来统一对外返回结果
  • timeout: 用于指定当前方法或者接口中所有方法的超时时间。我们一般都会根据提供者的时长来具体规定。比如我们在进行第三方服务依赖时可能会对接口的时长做放宽,防止第三方服务不稳定导致服务受损
  • check: 用于在启动时,检查生产者是否有该服务。我们一般都会将这个值设置为false,不让其进行检查。因为如果出现模块之间循环引用的话,那么则可能会出现相互依赖,都进行check的话,那么这两个服务永远也启动不起来
  • retries: 用于指定当前服务在执行时出现错误或者超时时的重试机制(注意提供者是否有幂等,否则可能出现数据一致性问题;注意提供者是否有类似缓存机制,如出现大面积错误时,可能因为不停重试导致雪崩)
  • executes: 用于在提供者做配置,来确保最大的并行度(可能导致集群功能无法充分利用或者堵塞,但是也可以启动部分对应用的保护功能,可以不做配置,结合熔断限流使用)

其它配置 参考官网

schema 配置参考手册

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: Dubbo
最后更新:2022年 6月 9日

RubinChu

一个快乐的小逗比~~~

打赏 点赞
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
文章目录
  • dubbo:application
  • dubbo:registry
  • dubbo:protocol
  • dubbo:service
  • dubbo:reference
  • dubbo:method
  • dubbo:service和dubbo:reference详解
  • 其它配置 参考官网
最新 热点 随机
最新 热点 随机
问题记录之Chrome设置屏蔽Https禁止调用Http行为 问题记录之Mac设置软链接 问题记录之JDK8连接MySQL数据库失败 面试系列之自我介绍 面试总结 算法思维
JVM类加载机制详解 java面试系列之引用 Spring之声明式事务 Elasticsearch之数据模型构建 算法思维 SpringBoot之自动配置SpringMVC

COPYRIGHT © 2021 rubinchu.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

京ICP备19039146号-1