![](https://img-blog.csdnimg.cn/20210511160919861.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
dubbo
dubbo
大龄码农生活
这个作者很懒,什么都没留下…
展开
-
dubbo源码分析学习 服务调用过程
一、通讯基础协议首先远程调用需要定义协议,也就是互相约定我们要讲什么样的语言,要保证双方都能听得懂。常见的三种协议形式应用层一般有三种类型的协议形式,分别是:固定长度形式、特殊字符隔断形式、header+body 形式。固定长度形式:指的是协议的长度是固定的,比如100个字节为一个协议单元,那么读取100个字节之后就开始解析。优点就是效率较高,无脑读一定长度就解析。缺点就是死板,每次长度只能固定,不能超过限制的长度,并且短了还得填充,在 RPC 场景中不太合适,谁晓得参数啥的要多长,原创 2020-11-09 17:35:40 · 266 阅读 · 0 评论 -
dubbo源码分析学习 集群容错和负债均衡策略
一、基本概念服务目录到底是什么? 服务目录也就是 Directory,其实之前也介绍过的,但不是单独拎出来讲的,可能大伙儿还不太清晰,今儿咱再来盘一下。 服务目录到底是个什么东西呢,看名字好像就是服务的目录,通过这个目录来查找远程服务? 对了一半!可以通过服务目录来查找远程服务,但是它不是"目录",实际上它是一堆 invoker 的集合, 前面说到服务的提供者都会集群部署,所有同样的服务会有多个提供者,因此就搞个服务目录来聚集它们,到时候要选择的时候就去服务目录里挑。...原创 2020-11-09 15:51:29 · 490 阅读 · 1 评论 -
dubbo源码分析学习--消费端的服务引用过程
源码基于2.7.2一、服务引用大致流程我们已经得知Provider将自己的服务暴露出来,注册到注册中心,而Consumer无非就是通过一波操作从注册中心得知 Provider 的信息,然后自己封装一个调用类和 Provider 进行深入地交流。而之前的文章我都已经提到在Dubbo中一个可执行体就是Invoker,所有调用都要向 Invoker 靠拢,因此可以推断出应该要先生成一个 Invoker,然后又因为框架需要往不侵入业务代码的方向发展,那我们的 Consumer 需要无感知的调用远...原创 2020-11-06 16:46:16 · 503 阅读 · 0 评论 -
dubbo源码分析学习---dubbo 重要内容Invoker 和服务注册过程
这篇文章主要续接上一篇文章的基础上做的分析学习。前面没有分析 Invoker,我们来简单看看 Invoker 到底是一个啥东西。一、Invoker 是什么从前面的分析来看,服务的发布分三个阶段:第一个阶段会创造一个 invoker 第二个阶段会把经历过一系列处理的 invoker(各种包装),在 DubboProtocol 中保存到 exporterMap 中 第三个阶段把 dubbo 协议的 url 地址注册到注册中心上 Invoker 是 Dubbo 领域模型中非常重要的...原创 2020-11-05 10:40:43 · 584 阅读 · 0 评论 -
dubbo源码分析学习---dubbo 服务端服务暴露过程
今天来就带大家看看 Dubbo 服务暴露过程,这个过程在 Dubbo 中其实是很核心的过程之一,关乎到你的 Provider 如何能被 Consumer 得知并调用。 今天还是会进行源码解析,毕竟我们需要深入的去了解 Dubbo 是如何做的,只有深入它才能了解它。 如果要实现服务发布和注册,需要做哪些事情?1. 配置文件解析或者注解解析 2. 服务注册 3. 启动 netty 服务实现远程监听一、前奏 URL不过在进行服务暴露流程分析之前有必要先谈一谈 URL,有人说这 U...原创 2020-11-03 18:01:03 · 556 阅读 · 0 评论 -
dubbo源码分析学习---dubbo spi机制
一、简介 SPI 全称为 Service Provider Interface,是一种服务发现机制。SPI 的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口替换实现类。正因此特性,我们可以很容易的通过 SPI 机制为我们的程序提供拓展功能。SPI 机制在第三方框架中也有所应用,比如 Dubbo 就是通过 SPI 机制加载所有的组件。不过,Dubbo 并未使用 Java 原生的 SPI 机制,而是对其进行了增强,使其能够更好的满足...原创 2020-11-01 22:11:07 · 244 阅读 · 0 评论