08第二章:(2)Dubbo 常用配置之 启动时检查

一、启动时检查

在启动时检查依赖的服务是否可用

Dubbo 缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止 Spring
初始化完成,以便上线时,能及早发现问题,默认 check="true"

可以通过 check="false" 关闭检查,比如,测试时,有些服务不关心,或者出现了循环依赖,必须有一方先启动。

另外,如果你的 Spring 容器是 懒加载 的,或者通过 API 编程延迟引用服务,请关闭 check,否则服务临时不可用时,会抛出异常,拿到
null 引用,如果 check=“false”,总是会返回引用,当服务恢复时,能自动连上。

二、示例

1、通过 Spring 配置文件

关闭某个服务的启动时检查(没有提供者时报错)

<dubbo:reference interface="com.foo.BarService" check="false" />

关闭所有服务的启动时检查(没有提供者时报错)

<dubbo:consumer check="false" />

关闭注册中心启动时检查(注册订阅失败时报错),没有注册中心也不会报错

<dubbo:registry check="false" />

2、通过 dubbo.properties

dubbo.reference.com.foo.BarService.check=false
dubbo.consumer.check=false
dubbo.registry.check=false

3、通过 -D 参数

java -Ddubbo.reference.com.foo.BarService.check=false
java -Ddubbo.consumer.check=false
java -Ddubbo.registry.check=false

配置的含义

dubbo.reference.com.foo.BarService.check,覆盖 com.foo.BarService 的 reference 的 check 值,就算配置中有声明,也会被覆盖。

dubbo.consumer.check=false,是设置 reference 的 check 的缺省值,如果配置中有显式的声明,如:<dubbo:reference check="
true"/>,不会受影响。

dubbo.registry.check=false,前面两个都是指订阅成功,但提供者列表是否为空是否报错,如果注册订阅失败时,也允许启动,需使用此选项,将在后台定时重试,即连接不上注册中心,不会报错,会重试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Dubbo是一个分布式服务框架,可帮助我们快速构建高性能、可扩展、可维护的分布式应用程序。下面是Dubbo常用配置及注意事项: 1. 服务提供者配置: - `dubbo.application.name`:应用程序名称 - `dubbo.application.owner`:应用程序所有者 - `dubbo.registry.address`:注册中心地址 - `dubbo.protocol.name`:协议名称 - `dubbo.protocol.port`:协议端口 - `dubbo.timeout`:调用超时时间 - `dubbo.provider.timeout`:服务提供者端超时时间 - `dubbo.provider.retries`:服务提供者重试次数 2. 服务消费者配置: - `dubbo.application.name`:应用程序名称 - `dubbo.application.owner`:应用程序所有者 - `dubbo.registry.address`:注册中心地址 - `dubbo.protocol.name`:协议名称 - `dubbo.protocol.port`:协议端口 - `dubbo.timeout`:调用超时时间 - `dubbo.consumer.timeout`:服务消费者端超时时间 - `dubbo.consumer.check`:服务消费者启动时是否检查服务提供者是否存在 3. 注册中心配置: - `dubbo.registry.address`:注册中心地址 - `dubbo.registry.timeout`:注册中心连接超时时间 - `dubbo.registry.username`:注册中心用户名 - `dubbo.registry.password`:注册中心密码 4. 注意事项: - Dubbo服务提供者和消费者的配置项必须一致。 - Dubbo服务提供者和消费者的协议名称、端口号、超时时间等配置项必须与注册中心一致。 - Dubbo服务提供者和消费者的版本号、接口名称、方法名称等必须定义清楚,否则会出现调用失败的情况。 - Dubbo服务提供者和消费者的日志级别应该适当调整,以便及时发现问题。 - Dubbo服务提供者和消费者的线程池大小应该根据实际情况进行配置,以避免线程池过大或过小的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值