dubbo常见问题归纳


dubbo常见问题归纳

  1. dubbo的可选的配置方式?
    官网上给出了四种方式分别是xml配置属性配置注解配置API配置

xml配置:通过使用xml配置文件的方式
通过加载classPath路径下的dubbo.properties文件
使用注解的配置方式
api的方式(通过@PropertySource加载指定配置文件)

  1. 配置文件的覆盖关系
  • 细大于粗
  • 消大于提

细粒度的配置优先级大于粗粒度的优先级,例如方法级优先级大于接口级,接口级大于全局配置
消费者端的配置优先级大于生产者

  1. dubbo的分层设计
    大体上分为三个大层:
  2. Bussiness
  3. RPC
  4. Remoting

3.1 Bussiness

  • service 业务层

service接口层,提供给服务提供者和消费者进行实现

3.2 RPC

config配置层,加载dubbo的配置信息
proxy代理层,对bussiness层生成代理对象
registry注册层,负责服务的注册和发现
cluster路由层,对同一个服务多个实例进行路由
monitor监控层,可以对rpc接口的调用次数和时间进行监控
protocol远程调用层,用于封装RPC调用

3.3 Remoting

exchange信息交换层,封装请求的响应模式,异步转同步
transport网络传输层,抽象出网络通信方案
seriallze序列化层

  1. dubbo的调用流程
  • Provider
  • 第0步: 启动service服务
  • 第1步: 将服务注册到注册中心
  • Consumer
  • 第2步: 向注册中心获取服务列表并保持连接以获取最新的服务列表(还会将服务列表保存在本地)
  • invoke
  • 第3步: Consumer通过服务端负载均衡后向Provider发起远程异步调用
  • 第4步: provide接受到请求后执行,并且将执行结果返回
  • monitor
  • 第5步: provide/consumer会将调用信息发送给monitor进行统计
  1. dubbo调用链?

  TOC