Java 面试复习_9
2019-6-1
作者:水不要鱼
(注:能力有限,如有说错,请指正!)
今天儿童节,先祝大家儿童节快乐!!
dubbo 在启动时会进行服务的可用性检查,就是对依赖的服务进行判断是否可用,只有可用才会拿到代理对象,否则返回 null。
但是,有时候不想要这个启动检查,就可以通过配置进行设置:
# 消费者:关闭具体一个服务提供者的检查
dubbo.reference.cn.com.fishin.service.check=false
# 消费者:关闭所有服务引用的检查
dubbo.reference.check=false
# 或
dubbo.consumer.check=false
# 关闭注册中心的检查
dubbo.registry.check=false
dubbo 对集群有一套容错机制,就是当调用失败之后该怎么做。对 dubbo 内部来说,它把这个集群调用者封装成一个
调用者,也就是说一切集群选择,包括路由、负载均衡都是在这个封装之后的调用者里面处理的,这样在最终调用时是透明的。
dubbo 默认的集群容错机制是 failover。一共有如下几种机制:
- failover ———— 如果调用失败,由于是集群,所以可以在其他服务器上重试,这就是重试机制,但是也会带来更高的延迟。
当然,既然有重试,那就肯定有重试次数限制,不然可能一直重试。。。我们可以通过配置:
<beans>
<!-- 重试次数配置如下: -->
<!-- 这是服务提供者在暴露服务的时候配置的 -->
<!--
需要注意的是,retries 不包括第一次失败的那次,也就是说,
第一次调用失败,开始重试,这时候才开始计数
-->
<dubbo:service retries="3" />
<!-- 这是服务消费者在引用服务的时候配置的 -->
<dubbo:reference retries="3" />
<!-- 或 -->