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)

  • 相关阅读:
    LeetCode中等题(三)
    java之使用poi对excel的.xls和.xlsx访问
    JAVA编程-----------40、字符串排序
    JAVA编程------------38、写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度
    JAVA编程---------37、n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡是报到3的人退出圈子,问最后留下的是原来第几号的那位。
    JAVA编程--------------36、有n个整数,使其前面各数顺序向后移m个位置最后m个数变成前面m个数
    JAVA编程-------------24、将一组数的最大数放在第一位,最小的数放在最后一位
    JAVA编程------------33、打印杨辉三角
    JAVA编程--------------32、取一个整数的4-7位
    JAVA编程---------------31、将一个数组逆序输出
  • 原文地址:https://www.cnblogs.com/parkdifferent/p/10952573.html
Copyright © 2011-2022 走看看