专栏首页后端技术学习dubbo生产者暴露服务流程

dubbo生产者暴露服务流程

前面我们知道dubbo如果采用dubbo协议的话,此时会调用netty来启动服务。同时我们可以其在进行标签解析和注入到spring中。此时最为关键的是doExport操作,而里面会涉及到doBind->doOpen操作,进行服务启动。

在这个过程中,url是我们需要进行关注的,此时我们可以看到基本上都是以url为主题进行组装操作。将所有需要放入的输入进行放入,同时最终会以观察者模式,实现配置的实时更新。低版本的dubbo则是以实现InitializingBean,重写AfterPropertiesSet方法。之所以改成基于ApplicationEvent,是因为可以进行更新,这是ApplicationEvent的优势。

同时通过对bubbo的学习,可以看到Netty的使用。

不但可以学习到设计模式:模板模式、装饰者模式、适配器模式、单例模式等,同时还可以学习到字节码技术的使用。这些都是值得我们去学习的。

在执行doOpen操作时,这里可以看到必然会触发一个事件,因为此时是

Init and start netty server

此时是doOpen操作,此时事件可以知道应该是执行了OP_ACCEPT操作,然后执行accpet操作。

dubbo生产者暴露过程:

本文分享自微信公众号 - 后端技术学习(gh_9f5627e6cc61),作者:路行的亚洲

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-12-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 对前端传入的json对象解析成多个对象

    multiRequestBodyDemo(@MultiRequestBody("dog")

    路行的亚洲
  • dubbo源码学习二

    昨天我们已经知道dubbo的入口可以通过自定义标签找到DubboNamespaceHandler找到解析自定义标签的相关类了。还有4个我们需要关注:Config...

    路行的亚洲
  • Scala学习二-面向对象

    适用于var变量,对于val不适用,注意如果使用下划线进行初始化,此时必须提供数据类型,这样就可以进行自动推断赋初始值

    路行的亚洲
  • 动手学深度学习-数据操作

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    村雨遥
  • 深入分析Android加载so文件源码

    Android系统中使用ndk进行编程,有很多的好处(Java的跨平台特性导致其本地交互的能力不够强大,一些和操作系统相关的特性Java无法完成;代码的保护:由...

    砸漏
  • 被用到炉火纯清的迭代器模式

    Java中可以说已经把迭代器模式用到了极致,每一个集合类都关联了一个迭代器类Iterator。

    java乐园
  • exp/imp碰到的两则问题处理(ORA-00904和the objects were exported by ABC not by you)

    最近负责搭建某系统的用户环境,其中涉及从测试环境导入数据,由于受客观因素制约,不能使用传输表空间方法同步,因此需要用imp/exp或数据泵的方法,这里采用的是i...

    bisal
  • 手写dubbo框架7-SPI(dubbo和jdk的区别)

    博客中代码地址:https://github.com/farliu/farpc.git

    并发笔记
  • Linux安装JDK

    修改 vi /etc/profile,在文件最后配置JAVA_HOME、JRE_HOME。

    Jacob丶
  • Android Installd 分析

    用户5189678

扫码关注云+社区

领取腾讯云代金券