美文网首页
Dubbo学习笔记1-服务启动

Dubbo学习笔记1-服务启动

作者: yl1415 | 来源:发表于2017-04-04 14:48 被阅读0次

    暴露服务。类似平时网络编程写server,需要打开socket,监听端口等。只不过RPC有整套的封装。下面我们通过断点跟随源码,梳理下整个流程。

    采用某种技术(spring?)获取到服务相关的所有配置后,就到了暴露服务的入口函数ServiceBean.afterPropertiesSet,接下来的调用链条是:
    ServiceConfig.export ->
    ServiceConfig.doExport ->
    ServiceConfig.doExportUrls->
    ServiceConfig.doExportUrlsFor1Protocol
    ProxyFactory.getInvoker(ref, (Class) interfaceClass, url) // 获得invoker
    Protocol.export(invoker) // 暴露服务?

    Exchangers.bind(url, requestHandler) //
    Transporters.bind(url, handler)
    NettyTransporter.bind(url, ChannelHandler)
    NettyServer.dopen()

    相关细节分析

    1. ProtocolListenerWrapper 和 ProtocolFilterWrapper(串联filter调用链)
    2. spring加载启动一大堆
    3. ProxyFactory.getInvoker(ref, (Class) interfaceClass, url)
      相关技术点:动态代理技术,代理模式
    1. 装饰模式
      服务暴露前的注册:创建同注册中心的链接,然后再走真正的服务协议暴露流程。 Protocol利用装饰模式的体现:RegistryProtocol对Protocol的包装
    1. Protocol.export相关流程

    参考

    相关文章

      网友评论

          本文标题:Dubbo学习笔记1-服务启动

          本文链接:https://www.haomeiwen.com/subject/vkaaottx.html