2023java面试之Dubbo注册中心

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

一. Dubbo 有哪些注册中心

Multicast 注册中心Multicast 注册中心不需要任何中心节点只要广播地址就能进行服务注册和发现,基于网络中组播传输实现。

Zookeeper 注册中心基于分布式协调系统 Zookeeper 实现采用 Zookeeper 的 watch 机制实现数据变更。

Redis 注册中心基于 Redis 实现采用 key/map 存储key 存储服务名和类型map 中 key 存储服务 urlvalue 服务过期时间。基于 Redis 的发布/订阅模式通知数据变更。

Simple 注册中心。

推荐使用 Zookeeper 作为注册中心

二. Dubbo 的注册中心集群挂掉发布者和订阅者之间还能通信么

可以通讯。启动 Dubbo 时消费者会从 Zookeeper 拉取注册的生产者的地址接口等数据缓存在本地。每次调用时按照本地存储的地址进行调用。

三. Dubbo集群提供了哪些负载均衡策略

Random LoadBalance: 随机选取提供者策略有利于动态调整提供者权重。截面碰撞率高调用次数越多分布越均匀。

RoundRobin LoadBalance: 轮循选取提供者策略平均分布但是存在请求累积的问题。

LeastActive LoadBalance: 最少活跃调用策略解决慢提供者接收更少的请求。

ConstantHash LoadBalance: 一致性 Hash 策略使相同参数请求总是发到同一提供者一台机器宕机可以基于虚拟节点分摊至其他提供者避免引起提供者的剧烈变动。默认为 Random 随机调用。

四. Dubbo的集群容错方案有哪些

Failover Cluster失败自动切换当出现失败重试其它服务器。通常用于读操作但重试会带来更长延迟。

Failfast Cluster快速失败只发起一次调用失败立即报错。通常用于非幂等性的写操作比如新增记录。

Failsafe Cluster失败安全出现异常时直接忽略。通常用于写入审计日志等操作。

Failback Cluster失败自动恢复后台记录失败请求定时重发。通常用于消息通知操作。

Forking Cluster并行调用多个服务器只要一个成功即返回。通常用于实时性要求较高的读操作但需要浪费更多服务资源。可通过 forks=”2″ 来设置最大并行数。

Broadcast Cluster广播调用所有提供者逐个调用任意一台报错则报错 。通常用于通知所有提供者更新缓存或日志等本地资源信息。

五. Dubbo 配置文件是如何加载到 Spring 中的

Spring 容器在启动的时候会读取到 Spring 默认的一些 schema 以及 Dubbo 自定义的schema每个 schema 都会对应一个自己的 NamespaceHandlerNamespaceHandler 里面通过 BeanDefinitionParser 来解析配置信息并转化为需要加载的 bean 对象

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Java