Dubbo 源码剖析与实战
何辉
平安壹钱包架构师
4711 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 33 讲
开篇词 (1讲)
Dubbo 源码剖析与实战
15
15
1.0x
00:00/00:00
登录|注册

20|订阅流程:消费方是怎么知道提供方地址信息的?

你好,我是何辉。今天我们深入研究 Dubbo 源码的第九篇,订阅流程。
上一讲,我们通过一个简单的 @DubboService 注解,挖出了服务发布的内幕,找到了 ServiceBean 的 Bean 定义、ServiceConfig 的导出关键节点,发现了本地导出和远程导出,在远程导出的过程中还顺便进行了服务注册。可以说,发布流程为提供方做足了提供服务的准备。
但是,消费方,向提供方发起调用时,并没有设置需要调用提供方的哪个地址,却能神不知鬼不觉地调通提供方,并拿到结果。是不是很神奇。那消费方到底是怎么知道提供方的地址呢?
在“温故知新”中,我们学过消费方如何发起调用,可以用 <dubbo:reference/> 标签引用提供方服务来发起调用,或者换成 @DubboReference 注解也可以。不管使用标签,还是注解,我们都是在想办法拿到调用提供方的一个引用句柄而已。
所以,我们也可以逆向排查 @DubboReference 注解,来进一步探索今天的问题。

对比复习

提到通过 @DubboReference,早在之前的“泛化调用”中,我们就逆向查找 @DubboReference 注解,找到了 ReferenceConfig 这个核心类,通过调用 ReferenceConfig 的 get 方法,拿到可以向下游发起调用的泛化对象。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入研究了Dubbo源码中的订阅流程,重点探讨了消费方如何获取提供方的地址信息。通过对比 @DubboReference 和 @DubboService 注解的知识点,文章指出了它们在作用域、类名称和辐射功能上的差异。进一步分析了ReferenceConfig的get方法和init方法,揭示了消费方获取提供方地址的核心逻辑。通过线程安全地创建引用对象、构建引用服务参数和创建代理对象,文章展现了ReferenceConfig的重要逻辑。最后,文章提出了对本地引用和远程引用的分析,并鼓励读者继续深入挖掘。整体而言,本文通过对比和代码分析,深入剖析了Dubbo源码中的订阅流程,为读者提供了深入了解Dubbo技术特点的视角。文章还介绍了订阅流程的推拉案例,包括Redis的发布订阅、Kafka的消费轮询和ZooKeeper的事件通知。这些案例展示了不同框架采用的推拉模式,以及各自的利弊权衡。读者可以通过本文了解Dubbo源码中的订阅流程,以及推拉模式在不同框架中的应用,为技术开发和架构设计提供了有益的参考。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Dubbo 源码剖析与实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(4)

  • 最新
  • 精选
  • Lum
    这么多Invoker 感觉好乱,风中凌乱了,希望老师可以总结一下这些Invoker的各个功能

    作者回复: 你好,Lum:别慌别慌,先把图中的流程体系在脑海中留个印象,然后再来看,也许就懂了,静下心来再看看,加油~

    2023-03-02归属地:北京
  • 手冢治熊
    跟着源码过来,没2小时弄不完这些流程

    作者回复: 你好,手冢治熊:首次,的确是需要花点时间的~

    2023-02-08归属地:广东
  • Nights
    老师,Netty不熟悉,需要补课嘛?

    作者回复: 你好,Nights:在学习过程中,Netty 不熟没有多大关系,基本要素我们得知晓 Dubbo 使用 Netty 帮我们解决了什么问题,然后了解如何使用 Netty 的 Api 启动 Netty 服务应该可以了,至于深入研究的话,可以去看看极客时间的《Netty源码剖析与实战》。

    2023-02-01归属地:北京
  • Jack
    老师,有没有课程群?我订阅的其他课程有建微信群,老师可否也建一个群?

    编辑回复: 有哇,微信群的入口一般在课程首页或者开篇词文末有,我把链接贴在这里方便你进群:Dubbo专栏交流群 http://jinshuju.net/f/qZtw6l

    2023-02-01归属地:广东
收起评论
显示
设置
留言
4
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部