zoukankan      html  css  js  c++  java
  • dubbo learn

    ====================server=============================================

    ExchangeHandlerAdapter

    Exchanger
    HeaderExchange
    HeaderExchangeServer

    org.apache.dubbo.registry.integration.RegistryProtocol#export

    org.apache.dubbo.registry.integration.RegistryProtocol#doLocalExport

    org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper#export

    org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper#export

    org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol#export

    org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol#openServer

    org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol#createServer

    org.apache.dubbo.remoting.exchange.Exchangers#bind(org.apache.dubbo.common.URL, org.apache.dubbo.remoting.exchange.ExchangeHandler)
    return getExchanger(url).bind(url, handler);

    org.apache.dubbo.remoting.exchange.support.header.HeaderExchanger#bind
    return new HeaderExchangeServer(Transporters.bind(url, new DecodeHandler(new HeaderExchangeHandler(handler))));

    HeaderExchangeHandler
    DubboPtotocol

    DecodeHandler
    HeaderExchangeHandler
    Transporter
    NettyTransporter
    -> NettyServer

    ============================================org.apache.dubbo.remoting.transport.dispatcher.ChannelHandlers#wrap

    new MultiMessageHandler(new HeartbeatHandler(ExtensionLoader.getExtensionLoader(Dispatcher.class)
    .getAdaptiveExtension().dispatch(handler, url)));

    AllChannelHandler ==== ExtensionLoader.getExtensionLoader(Dispatcher.class)
    .getAdaptiveExtension().dispatch(handler, url)
    DecodeHandler

    HeartbeatHandler
    AllChannelHandler

    MultiMessageHandler
    HeartbeatHandler

    NettyServer
    MultiMessageHandler

    org.apache.dubbo.remoting.transport.AbstractServer#doOpen
    org.apache.dubbo.remoting.transport.netty4.NettyServer#doOpen




    ====================client=============================================

    ReferenceCountExchangeClient


    org.apache.dubbo.config.ReferenceConfig#get
    org.apache.dubbo.config.ReferenceConfig#init
    org.apache.dubbo.config.ReferenceConfig#createProxy
    org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper#refer
    org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper#refer
    org.apache.dubbo.registry.integration.RegistryProtocol#refer
    org.apache.dubbo.registry.integration.RegistryProtocol#doRefer
    org.apache.dubbo.registry.zookeeper.ZookeeperRegistry#doSubscribe
    org.apache.dubbo.registry.support.AbstractRegistry#notify(org.apache.dubbo.common.URL, org.apache.dubbo.registry.NotifyListener, java.util.List<org.apache.dubbo.common.URL>)
    org.apache.dubbo.registry.integration.RegistryDirectory#notify
    org.apache.dubbo.registry.integration.RegistryDirectory#refreshOverrideAndInvoker
    org.apache.dubbo.registry.integration.RegistryDirectory#refreshInvoker
    org.apache.dubbo.registry.integration.RegistryDirectory#toInvokers
    org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper#refer
    org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper#buildInvokerChain
    org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol#refer
    org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol#getClients
    org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol#getSharedClient
    org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol#buildReferenceCountExchangeClientList
    org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol#buildReferenceCountExchangeClient
    org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol#initClient
    心跳,断线重连
    org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeClient#HeaderExchangeClient



    org.apache.dubbo.rpc.cluster.support.FailoverClusterInvoker#doInvoke


    org.apache.dubbo.rpc.protocol.InvokerWrapper#invoke
    org.apache.dubbo.rpc.listener.ListenerInvokerWrapper#invoke

    org.apache.dubbo.rpc.protocol.AbstractInvoker#invoke
    org.apache.dubbo.rpc.protocol.dubbo.DubboInvoker#doInvoke
    org.apache.dubbo.rpc.protocol.dubbo.ReferenceCountExchangeClient#request(java.lang.Object, int)
    org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeClient#request(java.lang.Object, int)
    org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeChannel#request(java.lang.Object, int)

  • 相关阅读:
    SecureCRT ssh Ubuntu Home End delete键失效?
    ssh登陆ubuntu开始较慢
    Ubuntu 12.04安装最新版本PostgreSQL
    xpath用法
    算法作业5——分治法求最近点对问题
    算法作业4——二分归并排序
    算法作业2——Floyd和Dijkstra
    算法作业3——顺序查找和二分查找
    算法作业1——Prim和Kruskal算法
    M
  • 原文地址:https://www.cnblogs.com/parkdifferent/p/10952573.html
Copyright © 2011-2022 走看看