dubbo源码—Service Reply

dubbo通过netty将请求发送到provider的时候,provider之前已经启动好的NettyServer监听指定端口的时候会收到来自consumer的请求,将通过网络发送来的二进制编码成Request交给上层处理。dubbo从Request中取出调用信息,找到之前的Invoker,然后经过filter,最后通过代理调用到提供服务的方法。

provider处理请求的调用堆栈如下:

sayHe110:18, TestDubb0Servicelmpl (com.test.service.impl) invokeMethod:-1, Wrapper1 (com. alibabadubbo. common.bytecode) dolnvoke:46, JavassistProxyFactory$1 (com.alibaba.dubbo.rpc.proxy.javassist) invoke:72, AbstractProxylnvoker (com.alibaba.dubbo.rpc.proxy) invoke:53, InvokerWrapper (com.alibaba.dubbo.rpc.protocol) invoke:64, ExceptionFilter .com alibaba.dubbo.rpc filter) invoke:91, ProtocolFilterWrapper$1 (com.alibaba.dubbo.rpc.protocol) invoke:64, MonitorFilter .com alibaba.dubbo. monitor.support) invoke:91, ProtocolFilterWrapper$1 (com.alibaba.dubbo.rpc.protocol) invoke:42, TimeoutFilter .com alibaba.dubbo. rpc.filter) invoke:91, ProtocolFilterWrapper$1 (com.alibaba.dubbo.rpc.protocol) invoke:49, TokenFilter .com alibaba.dubbo. roc. filter) invoke:91, ProtocolFilterWrapper$1 (com.alibaba.dubbo.rpc.protocol) invoke:78, TraceFilter .com alibaba dubbo. roc. protocol.dubbo.filter) invoke:91, ProtocolFilterWrapper$1 (com.alibaba.dubbo.rpc.protocol) invoke:60, ContextFilter .com alibaba.dubbo. roc. filter) invoke:91, ProtocolFilterWrapper$1 (com.alibaba.dubbo.rpc.protocol) invoke:132, GenericFilter .com alibaba.dubbo. roc. filter) invoke:91, ProtocolFilterWrapper$1 (com.alibaba.dubbo.rpc.protocol) invoke:38, ClassLoaderFilter .com alibaba dubbo.rpc.filter) invoke:91, ProtocolFilterWrapper$1 (com.alibaba.dubbo.rpc.protocol) invoke:38, EchoFilter .com alibaba dubbo. rpc filter) invoke:91, ProtocolFilterWrapper$1 (com.alibaba.dubbo.rpc.protocol) reply:108, DubboProtocol$1 .com alibaba dubbo.rpcprotocol.dubbo) handleRequest:86, HeaderExchangeHandler (com.alibaba.dubbo.remoting.exchange.support.header) received:172, HeaderExchangeHandler (com.alibaba dubbo. remoting. exchange.support.header) received:52, DecodeHandler (com.alibaba dubbo.remoting. transport) run:82, ChannelEventRunnable (com.alibaba.dubbo.remoting.transport.dispatcher) runWorker:1142, ThreadPoolExecutor (java.util.concurrent) run:617, ThreadPoolExecutor$Worker (java.util.concurrent) run:745, Thread (java.lang)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpfjsx.html