![](https://csdnimg.cn/release/download_crawler_static/88777527/bg4.jpg)
ForkingCluster:并行调用多个服务器,只要一个成功即返回。通常用于实时性要求较高的读操作,
但需要浪费更多服务资源。可通过forks=”2″来设置最大并行数。
BroadcastCluster:广播调用所有提供者,逐个调用,任意一台报错则报错。通常用于通知所有提供
者更新缓存或日志等本地资源信
17.
Dubbo集群的负载均衡有哪些策略
Dubbo提供了常见的集群策略实现,并预扩展点予以自行实现。
A、 random :随机算法,是 Dubbo 默认的负载均衡算法。存在服务堆积问题。
B、 roundrobin :轮询算法。按照设定好的权重依次进行调度。
C、 leastactive :最少活跃度调度算法。即被调度的次数越少,其优选级就越高,被调度到的机率就越
高。
D、 consistenthash :一致性 hash 算法。对于相同参数的请求,其会被路由到相同的提供者。
18.
为什么需要服务治理?
服务治理是主要针对分布式服务框架的微服务,处理服务调用之间的关系、服务发布和发现、故障监控
与处理,服务的参数配置、服务降级和熔断、服务使用率监控等。
原因:
过多的服务URL配置困难
负载均衡分配节点压力过大的情况下也需要部署集群
服务依赖混乱,启动顺序不清晰
过多服务导致性能指标分析难度较大,需要监控
故障定位与排查难度较大
19.
Dubbo超时时间怎样设置?
Dubbo超时时间设置有两种方式:
服务提供者端设置超时时间,在Dubbo的用户文档中,推荐如果能在服务端多配置就尽量多配置,因为
服务提供者比消费者更清楚自己提供的服务特性。
服务消费者端设置超时时间,如果在消费者端设置了超时时间,以消费者端为主,即优先级更高。因为
服务调用方设置超时时间控制性更灵活。如果消费方超时,服务端线程不会定制,会产生警告。
20.
Dubbo框架源码最重要的设计原则是什么?从架构设计角度谈一
下你对这个设计原则的理解。
Dubbo在设计时具有两大设计原则:
“微内核+插件”的设计模式。内核只负责组装插件(扩展点),Dubbo的功能都是由插件实现的,也就
是 Dubbo 的所有功能点都可被用户自定义扩展类所替换。Dubbo的高扩展性、开放性在这里被充分体
现。
采用 URL 作为配置信息的统一格式,所有扩展点都通过传递 URL 携带配置信息。简单来说就是,在
Dubbo中,所有重要资源都是以URL的形式来描述的。