
Dubbo
文章平均质量分 90
AvengerEug
向技术致敬的码农
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
滑稽之事:学习Spring源码半年后,我成为了Dubbo的贡献者
前言2021年6月23日,我向Dubbo发起了我人生中第一个开源框架的PR(pull request),就在今天(2021年6月28日),被maintainer merge了。是的,这是值得记录的一天!借此机会,我想把我的历程记录下来。一、提交的PR的内容是什么?我提交的PR的内容是什么?换句话说:我发现了Dubbo的什么bug(添加查看PR)?大致的背景就是:项目中的模块A和模块B同时依赖的相同的二方库dubbo-starter,并且这个二方库内部定义了协议为Dubbo、Netty的原创 2021-06-28 23:07:00 · 1128 阅读 · 10 评论 -
采坑经验:Dubbo 2.6.x版本中隐式参数attachment的错误使用方式,稍不注意就会出现生产事故
前言接触dubbo分布式框架的开发也有一段时间了,其中为了解决项目中遇到的一些杂症,还特意学习了一下Dubbo服务暴露和服务引入的一些源码知识点。最近在项目开发的过程中,有使用到了dubbo的隐式参数技术点,但发现了几个在使用上非常容易出错并且一出错就是生产事故的坑,现在记录一下。一、了解Dubbo隐式参数之前先了解下Dubbo的上下文信息什么是Dubbo的上下文信息?这里总结下自己的理解:上下文中存放的是当前调用过程中所需的环境信息。所有的配置信息都将转换成URL的参数。RpcConte原创 2021-06-11 18:14:06 · 1673 阅读 · 0 评论 -
Dubbo2.7.3版本源码学习系列七: Dubbo服务引入源码解析
前言上篇文章: Dubbo2.7.3版本源码学习系列六: Dubbo服务导出源码解析咱们了解了服务导出的过程,这里再提一下,服务导出分为三个阶段1、前置工作:主要用于检查参数、组装URL <=====> 类似于Spring在初始化bean时定义的一系列BeanDefinition2、导出服务:包括服务导出到本地和导出到远程3、服务注册:向注册中心注册当前被导出的服务本篇文章,咱们继续往下走,进入Dubbo服务引入的源码解读。一、服务引入的两种方式引入官方文档内容:原创 2020-12-01 20:38:44 · 480 阅读 · 2 评论 -
我在Dubbo的服务提供者中使用@Reference注解引入自己,结果被项目组通报批评了
背景最近,项目正在紧急迭代的过程中,由于我们内部的一个系统A任务量比较大,因此,组内的大多数人都来帮忙开发了。而我,也不例外,一起去帮忙了。在我负责模块中,有一段逻辑是依赖于其他同事开发的接口,因此我就写了个Todo进行标识。在他告知我接口开发完成并且它是一个Dubbo服务接口后,我很熟练的将todo移除,并将代码进行了同步,同时使用了@Reference接口把服务引入了进来。在进行单元测试的过程中,我本着好奇的心态,想学习下同事写的代码内涵时,我发现了一个奇怪的问题:我居然在同一个项目(服务提供者)中原创 2020-11-23 21:22:59 · 1303 阅读 · 1 评论 -
Dubbo2.7.3版本源码学习系列六: Dubbo服务导出源码解析
前言上篇文章: Dubbo2.7.3版本源码学习系列五: 学习Dubbo服务导出源码前置知识点(ProxyFactory和Wrapper类),咱们了解了Dubbo的ProxyFactory和Wrapper类的作用。本篇文章,咱们开始进入Dubbo服务导出的源码解读,在这个环节,咱们会用到之前Dubbo系列总结到的知识点(自适应扩展类、Wrapper、ProxyFactory)。一、官网对服务导出的简介官网描述Dubbo 服务导出过程始于 Spring 容器发布刷新事件,Dubbo 在接收到原创 2020-11-01 21:56:13 · 405 阅读 · 1 评论 -
Dubbo2.7.3版本源码学习系列五: 学习Dubbo服务导出源码前置知识点(ProxyFactory和Wrapper类)
前言上篇文章: Dubbo2.7.3版本源码学习系列四: 阅读Dubbo源码基石 - 自适应扩展机制,咱们了解了Dubbo的自适应扩展机制,这个东西很重要,在看源码的时候经常能看到获取自适应扩展类的源码。下阶段打算开始总结服务导出相关的源码总结,在写服务导出流程之前,咱们先来了解下Dubbo比较重要的几个类的作用1、org.apache.dubbo.common.bytecode.Wrapper2、org.apache.dubbo.rpc.ProxyFactory3、org.apache.原创 2020-10-28 19:42:59 · 862 阅读 · 1 评论 -
Dubbo2.7.3版本源码学习系列四: 阅读Dubbo源码基石 - 自适应扩展机制
前言今天,咱们来聊聊Dubbo的自适应扩展机制。PS:此功能比较重要,是Dubbo的一个比较核心的功能,后续的源码中都能看到它的身影刚刚说到了Dubbo自适应扩展机制的重要性,那么到底什么叫自适应扩展机制呢?,我来引用官网中的话:有时,有些拓展并不想在框架启动阶段被加载,而是希望在拓展方法被调用时,根据运行时参数进行加载。这听起来有些矛盾。拓展未被加载,那么拓展方法就无法被调用(静态方法除外)。拓展方法未被调用,拓展就无法被加载。对于这个矛盾的问题,Dubbo 通过自适应拓展机制很好的解决了原创 2020-10-26 21:32:23 · 361 阅读 · 0 评论 -
Dubbo2.7.3版本源码学习系列三: Dubbo注解版本加载配置原理
前言上篇博客: Dubbo2.7.3版本源码学习系列二: Dubbo服务提供者@EnableDubbo注解ServiceAnnotationBeanPostProcessor原理主要介绍了Dubbo注解版本的服务提供者中如何利用spring的扩展将服务注册到spring中去的。但是Dubbo作为一个RPC框架,那么这个服务提供者是如何把服务暴露出去的呢?我们来一探究竟一、Dubbo配置类...原创 2020-04-09 19:34:35 · 901 阅读 · 0 评论 -
Dubbo2.7.3版本源码学习系列二: Dubbo服务提供者@EnableDubbo注解ServiceAnnotationBeanPostProcessor原理
前言上篇博客Dubbo2.7.3版本源码学习系列一: 初始Dubbo利用SPI机制实现AOP和IOC的源码分析我们详细了解了Dubbo的一些SPI扩展机制。接下来我们学习一下Dubbo注解版本的@EnableDubbo注解实现原理(此注解结合了spring的相关知识点,需要有spring基础的才能看懂。本人总结过spring相关一些常用知识点。传送门)准备工作: 需要拉取Dubbo 2.7....原创 2020-04-05 16:46:38 · 2157 阅读 · 1 评论 -
Dubbo2.7.3版本源码学习系列一: 初始Dubbo利用SPI机制实现AOP和IOC的源码分析
前言互联网时代,单体架构的项目已经不能满足用户的需求了,于是,微服务的概念就这样被提出来了。所谓微服务,即是为了保证项目的高可用将所有的模块抽成一个个具体的项目,最后采取分布式部署策略进行线上运行(这里不讲微服务所带来的缺点)。于是,一个个**RPC(Remote Process Call)**框架就这样火热了起来。(其实我就知道spring cloud和dubbo。。。)作为国人开发框架的...原创 2020-04-04 23:57:10 · 666 阅读 · 0 评论