美文网首页
dubbo框架原理

dubbo框架原理

作者: 加油_汤姆叔叔 | 来源:发表于2019-07-10 17:24 被阅读0次

(1)介绍dubbo原理,暴露服务过程。
下图是暴露服务流程:


image.png

首先dubbo暴露服务有两种情况:

(1)延时暴露
(2)非延时暴露

下面说说非延时暴露:

dubbo在实例化完bean之后,在刷新容器最后一步发布ContextRefreshEvent事件的时候,通知实现了ApplicationListener的类执行回调onApplicationEvent,该事件会调用ServiceConfig的export方法,此export就是服务暴露。总体来说dubbo的服务就在onApplicationEvent事件中发布
那么dubbo是如何在onApplicationEvent中发布服务的呢?

暴露流程

(1)首先将服务封装成invoker,换句话说invoker中封装了服务的实现类。
(2)将invoker封装成exporter并缓存起来,缓存中使用invoker的url作为key。
(3)服务端Server启动并监听窗口(当请求过来时,根据请求信息生成key,并去缓存中寻找相应的invoker,如果找到了invoker就完成了调用)。

export的步骤简单介绍

(1)首先会检查各种配置信息,填充属性。
(2)加载注册中心
(3)根据配置的所有协议和注册中心url分别进行服务暴露(本地服务/远程服务)
(3.1)首先要获取invoker
(3.2)生成Exporter,并进行缓存
此处所有协议和注册中心的意思,我的理解是:需要一个应用层程序进行进程间通信,注册中心是将生成好的Exporter推送到注册中心,即将服务提交至注册中心

export方法中加载注册中心的工作细节

(1)export方法会判断是否是延迟暴露,如不是则立即执行doExport方法。
(2)doExport方法中会执行一系列的检查方法,然后调用doExportUrls方法。
(3)doExportUrls方法会首先调用loadRegistries获取所有注册中心url。

export方法中根据配置的协议进行服务暴露的工作细节

(1)获取所有注册中心之后,会遍历调用doExportUrldFor1Protocol方法,此方法根据不同的协议将服务转换成url形式,一些参数配置参数会附在url后面。
(2)根据scope的值进行服务暴露(即暴露/远程暴露/本地暴露)。

export方法中将服务暴露为远程服务的工作细节

(1)利用动态代理技术,将服务接口生成代理。
(2)调用Protocol生成的适配类的export方法,将服务接口代理交给export处理。
(3)export方法按照上述的工作流程,完成对服务的暴露。

个人理解:invoker的存在是生成代理类,这样消费者调用服务时候不会直接调用本地实例。而export的过程是标准化的一个过程,通过配置的协议将服务调用,服务信息标准化。

sentinel进行熔断,限流的原理以及流程

首先搞清楚熔断与限流的区别:
A->B->C 表示调用关系。
当B->C的时候发生突发流量的访问,

相关文章

  • 架构师进阶实战随堂笔记七

    场景七:微服务架构的服务化和Dubbo、Dubbo框架的原理讲解与案例解析 目录 Dubbo是什么 Dubbo是一...

  • Dubbo第三天

    5. SPI 机制原理 因为dubbo 框架是建立的 SPI 机制上,因此在探寻 dubbo 框架源码前,我们需要...

  • dubbo框架原理

    (1)介绍dubbo原理,暴露服务过程。下图是暴露服务流程: 首先dubbo暴露服务有两种情况: (1)延时暴露(...

  • dubbo深入浅出

    带着问题,来了解dubbo的原理。 一、dubbo有什么特点 dubbo是分布式服务治理框架,可以自动发现和注...

  • 免费分享Dubbo原理解析视频教程

    Dubbo是目前最火热的分布式框架项目之一,Java程序员必熟悉之框架。 这是微信群友分享的Dubbo原理解析视频...

  • Dubbo知识整理

    原理 基础概念 Dubbo就是SOA服务治理方案的核心框架。用于分布式调用,其重点在于分布式的治理。 Dubbo是...

  • Dubbo源码底层深度剖析视频教程,内核解剖dubbo架构原理和

    Dubbo源码底层深度剖析视频教程,内核解剖dubbo架构原理和架构设计15套java框架源码深度剖析视频教程(s...

  • RPC框架 Dubbo 实现原理

    主要为三点,动态代理、反射、socket网络编程。 看过很多讲dubbo原理的文章,总感觉太抽象,偶然间看到一个直...

  • Dubbo分布式服务框架原理(一)设计和实现及关注问题点

    Dubbo关注点 关注问题 分布式服务框架原理(一)设计和实现 1.分布式服务框架设计 分布式服务框架一般可以分为...

  • Dubbo简化类图

    本文只是简单的将Dubbo的类结构图罗列出来,在下一次介绍中将重点讲解Dubbo框架的原理以及使用方法。 1、客户...

网友评论

      本文标题:dubbo框架原理

      本文链接:https://www.haomeiwen.com/subject/dkffkctx.html