前言紧接着上文Dubbo分析之Exchange层,继续分析protocol远程调用层,官方介绍:封装RPC调用,以Invocation, Result为中心,扩展接口为Protocol, Invoker, Exporter;Protocol接口类分析Protocol可以说是Dubbo的核心层了,在此基础上可以扩展很多主流的服务,比如:redis,Memcached,rmi,WebService,h            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-09 12:00:41
                            
                                27阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在Dubbo 中,SPI 贯穿在整个Dubbo 的核心JAVA SPI在了解Dubbo 里面的SPI 之前,我们先了解下java 提供的SPI(service provider interface) 机制,SPI 是jdk 内置的一种服务提供发现机制。目前市面上有很多框架都是用它来做服务的扩展发现。其实它是一种动态替换发现的机制。来张图辅助理解下       java SPI 的缺点JDK标准的S            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-17 16:48:09
                            
                                62阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Dubbo–服务扩展及初始化 Dubbo–服务扩展及初始化写在前面服务扩展初始化过程一级标签说明 写在前面本文参考了Dubbo官方手册结合Dubbo2.6.1版本源码分析。推荐先阅读官方手册。鉴于个人水平有限,如有不正确的地方请指出,欢迎一起讨论,谢谢!服务扩展Dubbo使用类似于SPI的方式进行服务扩展管理,从大量服务提供接口中选择实际提供服务的接口,并根据配置对服务添加配置包装类(第5步)。大            
                
         
            
            
            
            前面我们了解过了Java的SPI扩展机制,对于Java扩展机制的原理以及优缺点也有了大概的了解,这里继续深入一下Dubbo的扩展点加载机制。Dubbo扩展点加载的功能Dubbo的扩展点加载机制类似于Java的SPI,我们知道Java的SPI在使用的时候,只能通过遍历来进行实现的查找和实例化,有可能会一次性把所有的实现都实例化,这样会造成有些不使用的扩展实现也会被实例化,这就会造成一定的资源浪费。有            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-14 10:11:14
                            
                                92阅读
                            
                                                        
                                点赞
                            
                                                                             
                 
                
                             
         
            
            
            
            Java设计  
 ITeye 
 IOC 
 框架 
 配置管理 
 领域模型 
   转于自己在公司的Blog: 
 http://pt.alibaba-inc.com/wp/dev_related_1283/dubbo-extension.html   随着服务化的推广,网站对Dubbo服务框架的需求逐渐增多,   Dubbo的现有开发人员能实现的需求有限,很多需求都被delay,   而            
                
         
            
            
            
            在准备阅读dubbo源码的过程中,必须要先弄清楚ExtensionLoader——扩展点加载,dubbo的整体架构风格采用Microkernel + Plugin,最大程度的面向接口不依赖具体实现,dubbo自身的功能就是通过组装扩展点实现的,官方文档中给出了26个扩展点,在遵守扩展点契约的前提下,用户可以自行扩展任意一个扩展点。  在dubbo源码中,类似上面这样通过ExtensionLoade            
                
         
            
            
            
            dubbo整合SpringBoot例子dubbo新版本(3.0以上)在相对于 dubbo 旧版本(2.5、2.6、2.7),有很多的不相同的地方。 本文就来使用dubbo3.0新版本 搭建一个dubbo+SpringBoot 项目,项目结构:源码已上传到github:https://github.com/DogerRain/dubbo-samples-test(项目名字是            
                
         
            
            
            
            一、扩展点配置详见我在《Java的SPI机制分析》文章中关于Dubbo的SPI机制的介绍,在此不再赘述。  
 二、扩展点流程分析之SPI    下面以Container加载的过程为例,来说明SPI扩展的实现流程:所有加上@SPI注解的扩展点可以有不同的扩展,Container代码如下:package com.alibaba.dubbo.container;            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-29 12:12:11
                            
                                50阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            介绍今天聊一聊spring中很重要的两个扩展点BeanPostProcessor和BeanFactoryPostProcessor,spring之所以如次强大,是因为它提供了丰富的功能给我们使用,但是我觉得最强大的是它扩展点,因为有了各种扩展点,我们才能去开发一些自己的需求,一个框架的强大之处也在于它能否灵活的配置,能够支持很好的扩展。我们基于spring进行业务开发时,无非做的就是编写各种bea            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-29 13:05:16
                            
                                29阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            承接上篇, 本篇博文的主题就是认认真真捋一捋, 看一下 Dubbo是如何实现他的IOC / AOP / 以及Dubbo SPI这个拓展点的总览:本篇的话总体上分成两部分进行展开第一点就是 Dubbo在启动过程中加载原生的配置文件中提供的被@SPI标记的实现类:第二就是Dubbo加载程序员后续添加进去的被@SPI标注的接口和实现类,  进而探究 Dubbo的IOC / AOP / 以及Dubbo S            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-09-22 12:35:40
                            
                                42阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
             在阐述dubbo原理之前,我先介绍一下dubbo与spring怎么糅合在一块,为什么dubbo标签,spring可以解析以及dubbo spi是什么,这是学习dubbo的第一步,接下来,我们会从源码的角度,进一步解析dubbo如何实现服务暴露,注册,路由,负载均衡,线程模型,mock机制,超时重试,服务发现,启动检查,令牌,优雅关机,协议,序列化,编解码,缓存,泛化,事件 等,欢迎大家指正和学习            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2020-07-20 17:16:00
                            
                                37阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
                                
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-09-22 12:35:10
                            
                                52阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、前言对于代码你有编程感觉吗很多人写代码往往是没有编程感觉的,也就是除了可以把功能按照固定的流程编写出流水式的代码外,很难去思考整套功能服务的扩展性和可维护性。尤其是在一些较大型的功能搭建上,比较缺失一些驾驭能力,从而导致最终的代码相对来说不能做到尽善尽美。江洋大盗与江洋大偷两个本想描述一样的意思的词,只因一字只差就让人觉得一个是好牛,一个好搞笑。往往我们去开发编程写代码时也经常将一些不恰当的用            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-17 05:38:23
                            
                                46阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            spring 扩展点
    spring中有非常多的扩展点,使用好这个扩展点可以极大程度的方便解决业务逻辑扩展点示图:  - 扩展接口调用顺序 - spring启动后执行ApplicationRunner、CommandLineRunner原理:启动源码中 - afterRefresh  -             
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-05 22:05:54
                            
                                54阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Dubbo可扩展机制源码解析在Dubbo可扩展机制实战中,我们了解了Dubbo扩展机制的一些概念,初探了Dubbo中LoadBalance的实现,并自己实现了一个LoadBalance。是不是觉得Dubbo的扩展机制很不错呀,接下来,我们就深入Dubbo的源码,一睹庐山真面目。ExtensionLoaderExtensionLoader 是最核心的类,负责扩展点的加载和生命周期管理。我们就以这个类            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-15 13:47:35
                            
                                52阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            spring的拓展点之-InitializingBean 一:有什么用 InitializingBean是spring提供的一个初始我们bean熟悉的方法,我们可以直接看看源码注释。 我们看这个接口上的注释大概意思就是: 当我们需要初始化我们bean中的一些参数,或者校验一些参数的时候的时候就可以通 ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-06-23 23:56:00
                            
                                148阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            网上的面试题都直接抄来抄去抄烂了,特此汇总小结。 本文主要基于Dubbo文档,搜集并过滤无脑搬运文所提供的答案汇总。1. 为什么要用Dubbo?随着服务化的进一步发展,服务越来越多,服务之间的调用和依赖关系也越来越 复杂,诞生了面向服务的架构体系(SOA)SOA: (Service- Oriented Architecture,面向服务的架构): 是一个组件模型,它将应用程序的不同功能单元(称为服            
                
         
            
            
            
            实现细节(+) (#)初始化过程细节(+) (#)解析服务基于dubbo.jar内的META-INF/spring.handlers配置,Spring在遇到dubbo名称空间时,会回调DubboNamespaceHandler。所有dubbo的标签,都统一用DubboBeanDefinitionParser进行解析,基于一对一属性映射,将XML标签解析为Bean对象。在ServiceConfig.            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-24 06:49:14
                            
                                41阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目录1、加载机制概述1.1 Java SPI1.2 Dubbo SPI1.3 扩展点的配置规范1.4 扩展点的分类与缓存1.5 扩展点的特性2、扩展点注解2.1 @SPI 注解2.2 @Adaptive 注解2.3 @Activate 注解3、ExtensionLoader 的工作原理3.1 getExtension的实现原理3.2 getAdaptiveExtension的实现原理3.3 ge            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-28 10:58:29
                            
                                55阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            主要内容 :加载机制概述 ;扩展点注解 ;ExtensionLoader 的工作原理 ;扩展点动态编译的实现原理 。介绍整个加载机制中最核心的 ExtensionLoader 的工作流程及实现原理 。 最后介绍扩展中使用的类动态编译的实现原理 。 然后介绍整个加载机制中最核心的 ExtensionLoader 的工作流程及实现原理 。 最后介绍扩展中使用的类动态编译的实现原理 。首先介绍现有 Du