- redis: 基于 redis 实现的 RPC 协议
2. Dubbo 超时时间怎样设置? Dubbo 超时时间设置有两种方式:
-
服务提供者端设置超时时间,在 Dubbo 的用户文档中,推荐如果能在服务端多配置就尽量多配置,因为服务提供者比消费者更清楚自己提供的服务特性。
-
服务消费者端设置超时时间,如果在消费者端设置了超时时间,以消费者端为主,即优先级更高。因为服务调用方设置超时时间控制性更灵活。如果消费方超时,服务端线程不会定制,会产生警告。
3. Dubbo 有些哪些注册中心?
-
Multicast 注册中心: Multicast 注册中心不需要任何中心节点,只要广播地址,就能进行服务注册和发现。基于网络中组播传输实现;
-
Zookeeper 注册中心: 基于分布式协调系统 Zookeeper 实现,采用Zookeeper 的 watch 机制实现数据变更;
-
redis 注册中心: 基于 redis 实现,采用 key/Map 存储,住 key 存储服务名和类型, Map 中 key 存储服务 URL, value 服务过期时间。基于 redis 的发布/订阅模式通知数据变更;
-
Simple 注册中心
4. Dubbo 集群的负载均衡有哪些策略? Dubbo 提供了常见的集群策略实现,并预扩展点予以自行实现。
-
Random LoadBalance: 随机选取提供者策略,有利于动态调整提供者权重。截面碰撞率高,调用次数越多,分布越均匀;
-
RoundRobin LoadBalance: 轮循选取提供者策略,平均分布,但是存在请求累积的问题;
-
LeastActive LoadBalance: 最少活跃调用策略,解决慢提供者接收更少的请求;
-
ConstantHash LoadBalance: 一致性 Hash 策略,使相同参数请求总是发到同一提供者,一台机器宕机,可以基于虚拟节点,分摊至其他提供者,避免引起提供者的剧烈变动;
5. Dubbo 是什么? Dubbo 是一个分布式、高性能、透明化的 RPC 服务框架,