dubbo源码阅读笔记--服务调用时序

来源:互联网 发布:mac下配置php开发环境 编辑:程序博客网 时间:2024/04/28 13:27

上接dubbo源码阅读笔记--暴露服务时序,继续梳理服务调用时序,下图右面红线流程。


整理了调用时序图


分为3步,connect,decode,invoke。

连接

AllChannelHandler.connected(Channel) line: 38HeartbeatHandler.connected(Channel) line: 47MultiMessageHandler(AbstractChannelHandlerDelegate).connected(Channel) line: 28NettyServer(AbstractPeer).connected(Channel) line: 105NettyServer(AbstractServer).connected(Channel) line: 191NettyHandler.channelConnected(ChannelHandlerContext, ChannelStateEvent) line: 70

decode

DecodeableRpcInvocation.decode(Channel, InputStream) line: 92DecodeableRpcInvocation.decode() line: 74DubboCodec.decodeBody(Channel, InputStream, byte[]) line: 138DubboCodec(ExchangeCodec).decode(Channel, ChannelBuffer, int, byte[]) line: 134DubboCodec(ExchangeCodec).decode(Channel, ChannelBuffer) line: 95DubboCountCodec.decode(Channel, ChannelBuffer) line: 46NettyCodecAdapter$InternalDecoder.messageReceived(ChannelHandlerContext, MessageEvent) line: 134NettyCodecAdapter$InternalDecoder(SimpleChannelUpstreamHandler).handleUpstream(ChannelHandlerContext, ChannelEvent) line: 70

invoke

AllChannelHandler.received(Channel, Object) line: 54HeartbeatHandler.received(Channel, Object) line: 90MultiMessageHandler.received(Channel, Object) line: 28NettyServer(AbstractPeer).received(Channel, Object) line: 123NettyHandler.messageReceived(ChannelHandlerContext, MessageEvent) line: 91NettyHandler(SimpleChannelHandler).handleUpstream(ChannelHandlerContext, ChannelEvent) line: 88DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline$DefaultChannelHandlerContext, ChannelEvent) line: 564DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(ChannelEvent) line: 791Channels.fireMessageReceived(ChannelHandlerContext, Object, SocketAddress) line: 296NettyCodecAdapter$InternalDecoder.messageReceived(ChannelHandlerContext, MessageEvent) line: 148NettyCodecAdapter$InternalDecoder(SimpleChannelUpstreamHandler).handleUpstream(ChannelHandlerContext, ChannelEvent) line: 70

BidServiceImpl.bid(BidRequest) line: 24Wrapper3.invokeMethod(Object, String, Class[], Object[]) line: not availableJavassistProxyFactory$1.doInvoke(T, String, Class<?>[], Object[]) line: 46JavassistProxyFactory$1(AbstractProxyInvoker<T>).invoke(Invocation) line: 72RegistryProtocol$InvokerDelegete<T>(InvokerWrapper<T>).invoke(Invocation) line: 53ExceptionFilter.invoke(Invoker<?>, Invocation) line: 64ProtocolFilterWrapper$1.invoke(Invocation) line: 91TimeoutFilter.invoke(Invoker<?>, Invocation) line: 42ProtocolFilterWrapper$1.invoke(Invocation) line: 91MonitorFilter.invoke(Invoker<?>, Invocation) line: 75ProtocolFilterWrapper$1.invoke(Invocation) line: 91TraceFilter.invoke(Invoker<?>, Invocation) line: 78ProtocolFilterWrapper$1.invoke(Invocation) line: 91ContextFilter.invoke(Invoker<?>, Invocation) line: 70ProtocolFilterWrapper$1.invoke(Invocation) line: 91GenericFilter.invoke(Invoker<?>, Invocation) line: 132ProtocolFilterWrapper$1.invoke(Invocation) line: 91ClassLoaderFilter.invoke(Invoker<?>, Invocation) line: 38ProtocolFilterWrapper$1.invoke(Invocation) line: 91EchoFilter.invoke(Invoker<?>, Invocation) line: 38ProtocolFilterWrapper$1.invoke(Invocation) line: 91DubboProtocol$1.reply(ExchangeChannel, Object) line: 113消息解析,message->invokerHeaderExchangeHandler.handleRequest(ExchangeChannel, Request) line: 84HeaderExchangeHandler.received(Channel, Object) line: 170DecodeHandler.received(Channel, Object) line: 52ChannelEventRunnable.run() line: 82



0 0
原创粉丝点击