dubbo面试整理,便于记忆

dubbo阐述

1.dubbo介绍

Dubbo 是阿里巴巴开源的一个基于 Java 的 RPC 框架,核心功能:远程通信,集群容错,自动发现。

2.总体架构:

3.dubbo执行流程

3.1提供者 Provider 启动然后向注册中心注册自己所能提供的服务。

3.2消费者 Consumer 启动向注册中心订阅自己所需的服务。

3.3注册中心将提供者元信息通知给 Consumer, 之后 Consumer 因为已经从注册中心获取提供者的地址,因此可以通过负载均衡选择一个 Provider 直接调用 。

3.4服务提供方元数据变更的话注册中心会把变更推送给服务消费者。

3.5服务提供者和消费者都会在内存中记录着调用的次数和时间,然后定时的发送统计数据到监控中心。

dubbo服务暴露的流程

1.通过ServiceConfig解析标签,创建dubbo标签解析器来解析dubbo的标签,容器创建完成之后,触发ContextRefreshEvent事件回调开始暴露服务

2.通过proxyFactory.getInvoker方法,并利用javassist或DdkProxyFactory来进行动态代理,将服务暴露接口封装成invoker对象,里面包含了需要执行的方法的对象信息和具体的URL地址。

3.再通过DubboProtocol的实现把包装后的invoker转换成exporter,

4.然后启动服务器server,监听端口

5.最后RegistryProtocol保存URL地址和invoker的映射关系,同时注册到服务中心

 dubbo服务引用的流程

1.首先客户端根据config文件信息从注册中心订阅服务,首次会全量缓存到本地,后续的更新会监听动态更新到本地。

2.之后DubboProtocol根据provider的地址和接口信息连接到服务端server,开启客户端client,然后创建invoker

3.之后通过invoker为服务接口生成代理对象,这个代理对象用于远程调用provider,至此完成了服务引用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值