先有个脑图:直接来到ReferenceBean:调试的时候如果进不来init,可以这样:com.alibaba.dubbo.config.ReferenceConfig#init :检查配置然后将配置构建成 map com.alibaba.dubbo.config.ReferenceConfig#createProxy:判断是injvm还是直连还是注册中心模式:如果是走本地的话,那么直接
转载 2024-09-04 21:19:15
30阅读
Openresty 是一个功能比较全面的应用服务器,它是基于标准的 nginx 为可以扩展很多第三方的模块,是一个中国人章亦春发起,web开发人员可以使用 lua脚本语言,对核心以及各种c模块进行编程,可以利用openresty快速搭建超过 1万并发高性能 web 应用系统。 这个openresty最早是雅虎中国的一个公司项目,基于Perl和Haskell实现,2007年开始开源,后来章亦春大佬加
转载 2024-05-26 21:44:16
82阅读
   最近听到有朋友公司用这个Dubbo,正好想了解一下源码。经过一小段时间分析,发现知识点非常多,很有价值。包括:动态代理,spring整合,各种设计模式,线程池,锁,netty这样基于nio的tcp框架,协议的设计,当然最重要的是一种解决问题的思路,就吧这些体会记录下来:       网上已经看到一些源码分析,总感觉缺少点什么,看完文章还是感觉
转载 2024-05-03 07:53:07
47阅读
1. ReferenceBean 这个bean实现了InitializingBean接口2. 这个类实现了接口的afterPropertiesSet()这个方法,在spring容器启动时,property设置完之后就会调用实现了InitializingBean接口的afterPropertiesSet方法  2.1 方法里分别对consumerConfig,applicationConfig,Mo
大家好,我是烤鸭:      dubbo 源码解析: 1.服务导出 介绍: Dubbo 服务导出过程始于 Spring 容器发布刷新事件,Dubbo 在接收到事件后,会立即执行服务导出逻辑。整个逻辑大致可分为三个部分,第一部分是前置工作,主要用于检查参数,组装 URL。第二部分是导出服务,包含导出服务到本地 (JVM),和导出服务到远程两个过程。第三部分是向注册中心注
一、概述Handler 作为一种异步消息通信机制,通常在面试的时候会被问到源码部分,本篇文章就通过源码来揭开Handler的神秘面纱,真正了解Handler的本质。一提起Handler,相信大家都会想到几个重要的类:Handler、Message、MessageQueue、Looper。那这四者是如何协作的呢?下面我们一一来分析这几个类的源码。二、源码解析首先先放一张整体流程图,如下: 整体
本文由船员 ChangeHui  自荐,转载发布从很早开始就认识到 Handler 了,只不过那时修为尚浅,了解的不够深刻,也没有应用自如。不过随着工作时间的增长,对 Handler 又有了更深层次的认识,于是有了这篇博客,希望尽可能的总结出多的知识点。 Handler 在 Java 层源码主要有 4 个类:Looper、MessageQueue、Message、Handler。我归纳了他们的几个
转载 2019-04-28 14:14:11
656阅读
初始化Handler对象的时候,使用的是无参的构造方法: public Handler() { this(null, false); }可以看到它内部调用的是另外一个两个参数的构造方法: public Handler(Callback callback, boolean async) { if (F
转载 2019-09-12 17:24:00
143阅读
2评论
一. Dubbo源码核心模块dubbo的架构如上图,辅助是注册中心和监控中心,负责接收输入的是Provider(肉),负责输出的是ConsumerRegistry:注册中心。 负责服务地址的注册与查找,服务的 Provider 和 Consumer 只在启动时与注册中心交互。注册中心通过长连接感知 Provider 的存在,在 Provider 出现宕机的时候,注册中心会立即推送相关事件
转载 2024-02-22 22:06:24
111阅读
dubbo的github地址:https://github.com/apache/incubator-dubbo(可下载整个压缩包,解压搜索xsd,就能找到dubbo.xsd文件)zookeeper3.4.10下载地址:https://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.10/(解压到本地,并进入其conf目录,重命名zoo_sample
转载 2024-04-12 16:16:26
179阅读
从标题就知道,这次我讲的是集群容错中的第二个关键词 Router,中文意思就是 路由,这个 路由是个很有意思的词汇.因为前端的 路由和后端的 路由他们是不同的,但是思想是基本一致的.鉴于很多技术文章都有一个诟病,就是只讲 概念...
转载 2021-07-30 10:02:31
235阅读
终于到了集群容错中的最后一个关键词,也就是 LoadBalance(负载均衡),负载均衡必然会涉及一些算法.但是也不用太担心,算法这个词虽然高大上,但是算法也有简单和复杂之分.既然是源码解析类的文章,那么就有义务让看不懂代码的....
转载 2021-07-30 11:37:22
245阅读
前言ExtensionLoader,从字面理解,拓展组件加载器,是Dubbo里用来加载器内部SPI(ServiceProviderInterface)的加载器。在dubbo框架中,每一个SPI接口都对应着自己的ExtensionLoader实例。 理解ExtensionLoader的内部机制,能够更得心应手的使用Dubbo的拓展组件,比如Filter,Listener,Protocol,
原创 2022-10-18 17:58:44
446阅读
服务导出在这里记录一下对" Dubbo 导出服务的过程"的研究。触发时机public class ServiceBean<T> extends ServiceConfig<T> implements InitializingBean, DisposableBean, ApplicationContextAware, ApplicationListener<Contex
转载 2024-10-22 12:40:53
8阅读
Cluster 将 Directory 中的多个 Invoker 伪装成一个 Invoker,对上层透明,伪装过程包含了容错逻辑,调用失败后,重试另一个。。。
转载 2021-07-30 10:09:04
194阅读
写在前面阅读源码是比较耗时的,特别是经过千锤百炼的经典源码,创造者不易,阅读者更加不要轻易断定结论,像我之前有详细了解过spring cache源码模块也并非那么容易,如果很久不再读,也差不多忘记,如果理解了或理解的深度不够的(没形成源码架构体系)前提下会发生的;在经典源码面前,会发现之前工作范围内的框架源码不值得一提吧,本人在实现100万+QPS秒杀架构演进中,为了背后的密码必然会将涉及比较关键
dubbo源码解析的,鉴于上次讲到了集群容错的总体架构,这次主要讲讲第一个关键词 directory,
转载 2021-07-30 10:14:25
126阅读
由于明天还要加班(心疼自己一秒),之前答应过小伙伴每周更新一篇dubbo源码解析的,鉴于上次讲到了集群容错的总体架构,这次主要讲讲第一个关键词 directory,这个内容不多,比较适合这种时间比较紧的分享.后面还会陆续分享dubbo源码解析系列,但是不止于dubbo.
转载 2021-07-30 11:46:25
107阅读
SPI 全称为 Service Provider Interface,
原创 2023-01-25 08:11:44
205阅读
文章目录一、什么是SPI机制二、SPI机制源码分析ExtensionLoader静态类和静态方法new ExtensionLoader(type) 实例化扩展加载器
原创 2022-05-17 19:46:06
216阅读
  • 1
  • 2
  • 3
  • 4
  • 5