Dubbo常见问题及解决方案

1、Dubbo是什么?

Dubbo是阿里巴巴开源的基于 Java 的高性能 RPC 分布式服务框架,现已成为 Apache 基金会孵化项目。

官网:http://dubbo.apache.org

2、为什么要用Dubbo?

  1. Dubbo是阿里开源项目,国内很多互联网公司都在用,已经经过很多线上考验。内部使用了 Netty、Zookeeper,保证了高性能高可用性。

  2. 使用 Dubbo 可以将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,可用于提高业务复用灵活扩展,使前端应用能更快速的响应多变的市场需求。

  3. 分布式架构可以承受更大规模的并发流量。

在这里插入图片描述
在这里插入图片描述

3、Dubbo 和 Spring Cloud 有什么区别?

两个没关联,如果硬要说区别,有以下几点。

  1. 通信方式不同

Dubbo 使用的是 RPC 通信,而 Spring Cloud 使用的是 HTTP RESTFul 方式。

  1. 组成部分不同
    在这里插入图片描述
4、dubbo都支持什么协议,推荐用哪种?

dubbo://(推荐)

rmi://

hessian://

http://

webservice://

thrift://

memcached://

redis://

rest://

5、Dubbo需要 Web 容器吗?

不需要,如果硬要用 Web 容器,只会增加复杂性,也浪费资源。

6、Dubbo内置了哪几种服务容器?

Spring Container

Jetty Container

Log4j Container

Dubbo 的服务容器只是一个简单的 Main 方法,并加载一个简单的 Spring 容器,用于暴露服务。

7、Dubbo里面有哪几种节点角色?

在这里插入图片描述

8、画一画服务注册与发现的流程图

在这里插入图片描述

9、Dubbo默认使用什么注册中心,还有别的选择吗?

推荐使用 Zookeeper 作为注册中心,还有 Redis、Multicast、Simple 注册中心,但不推荐。

10、Dubbo有哪几种配置方式?

  1. Spring 配置方式
  2. Java API 配置方式

11、Dubbo 核心的配置有哪些?

在这里插入图片描述

16、Dubbo有哪几种集群容错方案,默认是哪种?

在这里插入图片描述

17、Dubbo有哪几种负载均衡策略,默认是哪种?

在这里插入图片描述

18、注册了多个同一样的服务,如果测试指定的某一个服务呢?

可以配置环境点对点直连,绕过注册中心,将以服务接口为单位,忽略注册中心的提供者列表。

19、Dubbo支持服务多协议吗?

Dubbo 允许配置多协议,在不同服务上支持不同协议或者同一服务上同时支持多种协议。

20、当一个服务接口有多种实现时怎么做?

当一个接口有多种实现时,可以用 group 属性来分组,服务提供方和消费方都指定同一个 group 即可。

21、Dubbo的管理控制台能做什么?

管理控制台主要包含:路由规则,动态配置,服务降级,访问控制,权重调整,负载均衡,等管理功能。

22、说说 Dubbo 服务暴露的过程。

Dubbo 会在 Spring 实例化完 bean 之后,在刷新容器最后一步发布 ContextRefreshEvent 事件的时候,通知实现了 ApplicationListenerServiceBean 类进行回调 onApplicationEvent 事件方法,Dubbo 会在这个方法中调用 ServiceBean 父类 ServiceConfigexport 方法,而该方法真正实现了服务的(异步或者非异步)发布。

发布了320 篇原创文章 · 获赞 152 · 访问量 64万+

猜你喜欢

转载自blog.csdn.net/hello_word2/article/details/104921182