Dubbo 是一个高性能的分布式服务框架,提供了多种调用策略来优化服务调用的性能和可靠性。

一、负载均衡策略:

  • 随机(Random):随机选择一个服务提供者进行调用,适合动态调整权重的场景。
  • 轮询(RoundRobin):按顺序依次选择服务提供者,适合请求分布均匀的场景,但可能存在请求累积的 问题。
  • 最少活跃调用(LeastActive):选择当前活跃调用数最少的服务提供者,适合解决慢提供者接收更少请 求的场景。
  • 一致性哈希(ConsistentHash):相同参数的请求总是发到同一提供者,适合需要会话保持的场景。

二、容错机制:

  • Failover:调用失败时自动重试其他节点,适合读操作。
  • Failfast:调用失败时快速失败,适合写操作。
  • Failsafe:调用失败时直接忽略,适合不重要的操作。
  • Failback:调用失败时记录请求并定时重发,适合需要自动恢复的场景。

三、异步调用:

Dubbo 支持异步调用,调用后立即返回一个 Future 对象,适合需要并行调用的场景。

四、Dubbo 常见面试题

Dubbo 是什么?

Dubbo 是一个高性能的分布式服务框架,提供远程调用、负载均衡、服务治理等功能。

Dubbo 的工作原理是什么?

服务提供者注册服务到注册中心,服务消费者从注册中心订阅服务,通过负载均衡选择提供者进行调用。

Dubbo 支持哪些协议?

Dubbo 支持 dubbo://、rmi://、http:// 等协议,推荐使用 dubbo://。

Dubbo 的负载均衡策略有哪些?

    随机、轮询、最少活跃调用、一致性哈希等。

Dubbo 的容错机制有哪些?

Failover、Failfast、Failsafe、Failback。

Dubbo 如何保证服务调用的安全性?

通过 SSL/TLS 加密、访问控制、Token 验证等机制。

Dubbo 如何处理服务降级?

通过熔断器模式、快速失败、限流等方式实现服务降级。

Dubbo 的扩展点有哪些?

包括协议扩展、负载均衡扩展、过滤器扩展等。

高旭
40 声望3 粉丝