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 的扩展点有哪些?
包括协议扩展、负载均衡扩展、过滤器扩展等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。