博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Dubbo源码分析(三)-----消费者引用服务启动时序
阅读量:5285 次
发布时间:2019-06-14

本文共 658 字,大约阅读时间需要 2 分钟。

             之前分析Dubbo架构分析的一篇,从dubbo官网摘录下了,服务消费者的时序分析图。

     这篇文章还是从代码层面来分析消费者启动顺序。

 首先,获取引用的变量,如果没有初始化,则调用init方法。

    下面在看下 init方法的里面是初始化的过程。

            通过调用Class.forName的加载类到jvm。

             将一个类中的版本和方法, 存储在一个HashMap中。

    最后,最重要的一点是createProxy这个方法,是创建动态代理, 然后创建ConsumerModel,其实是ref的装饰器,然后用ApplicationMode初始化消费者。

           然后调用RegisterProtocal的Refer方法,如果是RegisterService则直接包装成Invoker返回, 然后是多个的,则调用doRefuer方法,使用Cluster去处理。

        然后调用RegisterDirectory的subcribe,去订阅zookeeper的目录,然后使用cluster的join方法封装成Invoker,注册到ProvierConsumerRegTable中。

接着调用 Transporter的connect函数, 最终会调用ProxyFactory的createProxy创建动态代理类。

      总结:

    最近在看dubbo启动过程还是有点懵,对于它的整体架构和流程还是比较肤浅的,欢迎大家一起交流。

  

 

转载于:https://www.cnblogs.com/xjz1842/p/9524947.html

你可能感兴趣的文章
模板设计模式的应用
查看>>
12010 解密QQ号(队列)
查看>>
方维分享系统二次开发, 给评论、主题、回复、活动 加审核的功能
查看>>
Matlab parfor-loop并行运算
查看>>
string与stringbuilder的区别
查看>>
2012-01-12 16:01 hibernate注解以及简单实例
查看>>
iOS8统一的系统提示控件——UIAlertController
查看>>
PAT甲级——1101 Quick Sort (快速排序)
查看>>
python创建进程的两种方式
查看>>
1.2 基础知识——关于猪皮(GP,Generic Practice)
查看>>
迭代器Iterator
查看>>
java易错题----静态方法的调用
查看>>
php建立MySQL数据表
查看>>
最简单的线程同步的例子
查看>>
旅途上看的电影和观后感
查看>>
Ztree异步树加载
查看>>
关于IE和火狐,谷歌,Safari对Html标签Object和Embed的支持问题
查看>>
poj3320 Jessica's Reading Problem(尺取思路+STL)
查看>>
分布式计算开源框架Hadoop介绍
查看>>
坏的事情不都会带来坏的结果
查看>>